专利摘要:
IMAGE ENCODING METHOD, IMAGE DECODING METHOD, IMAGE ENCODING DEVICE AND IMAGE DECODING DEVICE. The invention relates to an image encoding method that partitions an input image signal (120) into processing units and encodes the partitioned image to generate a sequence of codes (140), the image encoding method being includes: determining a partitioning model for hierarchical partitioning of the input image signal (120) in order to start from a larger unit of the processing units; generate partition information (131) indicative of the partitioning model; and encoding partition information (131), where partition information (131) includes information on maximum used hierarchical depth (used_max_depth) indicative of a maximum used hierarchical depth which is a hierarchical depth of a deeper processing unit of the units processors included in the partitioning model.
公开号:BR112013004425B1
申请号:R112013004425-0
申请日:2011-12-05
公开日:2021-01-26
发明作者:Hisao Sasai;Takahiro Nishi;Youji Shibahara;Toshiyasu Sugio
申请人:Sun Patent Trust;
IPC主号:
专利说明:

[0001] The present invention relates to image encoding methods, image decoding methods, image encoding devices and image decoding devices, and in particular to an image encoding method and an image decoding method for encoding compression of a video signal using motion compensation. Prior Art
[0002] In conventional image encoding methods represented by the ITU-T standard called H.26x and the ISO / IEC standard called MPEG-x, a screen is partitioned into predetermined units and encoded in the partition units. For example, H.264 / MPEG-4 AVC (for example, see NPL 1) processes the screen (picture) in units 16 pixels horizontally × 16 pixels vertically which are called macroblocks. For motion compensation, the macroblock is partitioned into rectangular blocks (minimum 4 pixels horizontally × 4 pixels vertically) and movement compensation is performed using a different motion vector for each of the partitioned blocks. List of Citations Non-Patent Literature
[0003] NPL 1 ISO / IEC 14496-10 "MPEG-4 Part 10 Advanced Video Coding" Summary of the Invention Technical problem
[0004] However, in the conventional methods above, two types of information: information indicative of a type of macroblock; and information indicative of a type of sub-block is transmitted as information related to the partition in the macroblock to transmit a partitioned form. In this document, information indicative of macroblock type indicates that a macroblock size is any of, for example, 16 pixels horizontally × 16 pixels vertically, 16 pixels horizontally × 8 pixels vertically, 8 pixels horizontally x 16 pixels vertically and 8 pixels horizontally × 8 pixels vertically. Submacrobloc type indicative information indicates that when the macroblock type is 8 pixels horizontally × 8 pixels vertically, a submacroblock size is any one of 8 pixels horizontally × 8 pixels vertically, 8 pixels horizontally × 4 pixels vertically, 4 pixels horizontally × 8 pixels vertically and 4 pixels horizontally × 4 pixels vertically.
[0005] In the transmission method, the partition information as described above, a greater number of types of block size requires the hierarchical sending of the partitioned forms. Therefore, a problem occurs in the fact that the partition information cannot be transmitted efficiently.
[0006] The present invention solves the above problem and aims to provide a video encoding method or a video decoding method that can efficiently encode or decode partition information when the screen is partitioned into multiple blocks and encode and decode the blocks. Solution to the Problem
[0007] To achieve the above objective, an image encoding method according to one embodiment of the present invention is an image encoding method for partitioning an image into processing units and encoding the partitioned image to generate a sequence of codes, the image encoding method includes: determining a partitioning model for hierarchical partitioning of the image in order to start from a larger unit of processing units in a hierarchical format; generate partition information indicative of the partitioning model; and encode the partition information; wherein the partition information includes maximum used hierarchical depth information indicative of a maximum used hierarchical depth which is a hierarchical depth of a processing unit deeper than the processing units included in the partitioning model.
[0008] According to the above configuration, the image encoding method according to one embodiment of the present invention can reduce an amount of encoding used to partition the screen into multiple blocks and encode the blocks and can therefore efficiently encode information of partition.
[0009] In addition, the partition information can additionally include information of minimum used hierarchical depth indicative of a minimum used hierarchical depth which is the hierarchical depth of a more superficial processing unit of the processing units included in the partitioning model.
[0010] In addition, when generating the partition information, the partition information that includes the minimum used hierarchical depth information can be generated when the maximum used hierarchical depth is a smaller processing unit of the processing units.
[0011] According to the above configuration, the image encoding method according to an embodiment of the present invention can reduce a greater amount of encoding.
[0012] In addition, when generating the partition information, when it can be defined for each of the processing units, use the maximum hierarchical depth used, if the processing unit must be further partitioned, information indicative of the processing unit's partitioning model can be removed from the partition information and, by encoding the partition information, the partition information from which the information was removed can be encrypted.
[0013] According to the above configuration, the image encoding method according to an embodiment of the present invention can reduce a greater amount of encoding.
[0014] In addition, when generating the partition information, when it can be defined for each of the processing units, use the minimum hierarchical depth used, if the processing unit must be further partitioned, information indicative of the partitioning model of the processing unit. processing can be removed from the partition information, and by encoding the partition information, the partition information from which the information was removed can be encrypted.
[0015] According to the above configuration, the image encoding method according to an embodiment of the present invention can reduce a greater amount of encoding.
[0016] In addition, the image encoding method may additionally include estimating a predicted partitioning model that is a predicted value of a current partitioning model's partitioning model, using an encoded processing unit partitioning model, where determine the partitioning model, the partitioning model of the current processing unit can be determined by using the predicted partitioning model.
[0017] According to the above configuration, the image encoding method according to an embodiment of the present invention can reduce a greater amount of encoding.
[0018] In addition, the image encoding method may additionally include calculating a difference between the partitioning model and the predicted partitioning model, in which, when encoding the partition information, the partition information that includes the difference can be encoded.
[0019] According to the above configuration, the image encoding method according to an embodiment of the present invention can reduce a greater amount of encoding.
[0020] In addition, when estimating the predicted partitioning model, the partitioning model of the current processing unit can be estimated by using a partitioning model of a processing unit that is adjacent to the current processing unit and in the same frame as the current processing unit.
[0021] In addition, when estimating the predicted partitioning model, the partitioning model of the current processing unit can be estimated by using a partitioning model of a processing unit included in another time frame.
[0022] In addition, an image decoding method according to an embodiment of the present invention is an image decoding method for decoding a code sequence generated by the image encoding method, the image decoding method which includes: decoding information partitions included in the code sequence; and determine the partitioning model from the decoded partition information.
[0023] According to the above configuration, the image decoding method according to an embodiment of the present invention can efficiently decode the partition information.
[0024] It should be noted that the present invention may not only be implemented as such an image encoding method and as an image decoding method, but also as an image encoding device and as an image decoding device that has characteristic steps, as units, included in the image encoding method and the image decoding method, respectively, or as a program to get a computer to perform such characteristic steps. Otherwise, such a program can, of course, be distributed by storing it in a non-transitory computer-readable storage medium such as CD-ROM and through a transmission medium such as the Internet.
[0025] In addition, the present invention can be deployed as a semiconductor integrated circuit (LSI) that achieves partial or full functionality of such an image coding device and an image de-coding device, or such as an image coding device and an image decoding device. Advantageous Effects of the Invention
[0026] From the foregoing, the present invention can provide the video encoding method or the video decoding method that can efficiently encode or decode partition information when the screen is partitioned into multiple blocks and encode or decode the blocks. Brief Description of Drawings
[0027] Figure 1 is a block diagram of an image encoding device according to an embodiment 1 of the present invention. Figure 2A is a schematic view illustrating a block hierarchy according to embodiment 1 of the present invention. Figure 2B is a schematic view showing an example of the block hierarchy according to embodiment 1 of the present invention. Figure 2C is a schematic view showing an example of a block hierarchy according to embodiment 1 of the present invention. Figure 3A is a schematic view showing an example of a block partitioning model according to embodiment 1 of the present invention. Figure 3B is a schematic view showing a block partition information according to embodiment 1 of the present invention. Figure 3C is a schematic view showing an example of the block partition information according to embodiment 1 of the present invention. Figure 4 is a flow chart illustrating the operation of a partitioning control unit according to modality 1 of the present invention. Figure 5 is a flow chart illustrating the operation of a partition information description unit according to embodiment 1 of the present invention. Figure 6A is a schematic view showing an example of a partitioning model and partition information according to embodiment 1 of the present invention. Figure 6B is a schematic view showing an example of a partitioning model and partition information according to embodiment 1 of the present invention. Figure 6C is a schematic view showing an example of a partitioning model and partition information according to embodiment 1 of the present invention. Figure 7 is a block diagram of an image decoding device according to an embodiment 2 of the present invention. Figure 8 is a flowchart that illustrates the operations of a partitioning control unit and the partition information reconstruction unit according to modality 2 of the present invention. Figure 9A is a schematic view showing an example of prediction of a partitioning model according to an embodiment 3 of the present invention. Figure 9B is a schematic view showing an example of forecasting a partitioning model according to modality 3 of the present invention. Figure 9C is a schematic view showing an example of forecasting a partitioning model according to modality 3 of the present invention. Figure 9D is a schematic view showing an example of forecasting a partitioning model according to modality 3 of the present invention. Figure 9E is a schematic view showing an example of forecasting a partitioning model according to modality 3 of the present invention. Figure 9F is a schematic view showing an example of forecasting a partitioning model according to modality 3 of the present invention. Figure 9G is a schematic view showing an example of forecasting a partitioning model according to modality 3 of the present invention. Figure 9H is a schematic view showing an example of forecasting a partitioning model according to modality 3 of the present invention. Figure 9I is a schematic view showing an example of forecasting a partitioning model according to modality 3 of the present invention. Figure 9J is a schematic view showing an example of forecasting a partitioning model according to modality 3 of the present invention. Figure 9K is a schematic view showing an example of forecasting a partitioning model according to modality 3 of the present invention. Figure 9L is a schematic view showing an example of forecasting a partitioning model according to modality 3 of the present invention. Figure 10 is a flow chart showing a procedure for predicting a method of partitioning by using partition information in surrounding blocks according to embodiment 3 of the present invention. Figure 11A is a schematic view illustrating a prediction method in which a partition information description unit and partition information reconstruction unit according to embodiment 3 of the present invention use partition information in a coded frame. Figure 11B is a schematic view illustrating a method in which a partition information description unit and partition information reconstruction unit according to embodiment 3 of the present invention use partition information from an encrypted frame. Figure 12A is a flow chart illustrating the operation of the partition information description unit according to embodiment 3 of the present invention. Figure 12B is a flow chart illustrating the operation of the partition information reconstruction unit according to embodiment 3 of the present invention. Figure 13 is a schematic view showing a data structure of partition information according to an embodiment 4 of the present invention. Figure 14A is a schematic view showing an example of a partitioning model that uses a plurality of block shapes according to an embodiment 5 of the present invention. Figure 14B is a schematic view showing an example of partition information according to embodiment 5 of the present invention when the plurality of block shapes is used. Figure 14C is a schematic view showing an example of the partition information according to embodiment 5 of the present invention when the plurality of block shapes is used. Figure 15A is a schematic view illustrating a method according to embodiment 5 of the present invention for reducing an amount of redundant partition information. Figure 15B is a schematic view illustrating the method according to embodiment 5 of the present invention to reduce a quantity of redundant partition information. Figure 15C is a schematic view illustrating the method according to embodiment 5 of the present invention for reducing a quantity of redundant partition information. Figure 16 shows a general configuration of a content delivery system for deploying content delivery services. Figure 17 shows a general configuration of a digital broadcasting system. Figure 18 shows a block diagram that illustrates an example of a television configuration. Figure 19 shows a block diagram that illustrates an example of a configuration of an information recording / reproducing unit that reads and writes information on and from a recording medium that is an optical disc. Figure 20 shows an example of a recording medium configuration that is an optical disc. Figure 21A shows an example of a cell phone. Figure 21B is a block diagram showing an example of a cell phone setup. Figure 22 illustrates a multiplexed data structure. Figure 23 shows, schematically, how each stream is multiplexed into multiplexed data. Figure 24 shows how a video stream is stored in a PES packet stream in more detail. Figure 25 shows a structure of TS Packets and source packets in the multiplexed data. Figure 26 shows a PMT data structure. Figure 27 shows an internal structure of multiplexed data information. Figure 28 shows an internal structure of flow allocation information. Figure 29 shows steps for identifying video data. Figure 30 shows an example of an integrated circuit configuration to implement the motion picture encoding method and the motion picture decoding method according to each of the modalities. Figure 31 shows a configuration for switching between guidance frequencies. Figure 32 shows steps for identifying video data and switching between guidance frequencies. Figure 33 shows an example of a lookup table in which video data patterns are associated with guidance frequencies. Figure 34A is a diagram showing an example of a configuration for sharing a module in a signal processing unit. Figure 34B is a diagram showing another example of a configuration for sharing a signal processing unit module. Description of Modalities
[0028] Hereinafter, modalities of the present invention will be described with reference to the attached drawings. It should be noted that the embodiments described below are each merely a preferred illustration of the present invention. Values, forms, materials, components, arrangement or a form of connection between the components, steps, and the order of the steps are merely illustrative and are not intended to limit the present invention. The present invention is limited only by the scope of the appended claims. Therefore, among components of the modalities below, components not shown in the independent claims that indicate the top level concept of the present invention are not necessary to achieve the present invention, but will be described as components for preferable modalities. Mode 1
[0029] Figure 1 is a block diagram of an image encoding device 100 that uses an image encoding method according to an embodiment 1 of the present invention. The image coding device 100 shown in Figure 1 divides an input image signal 120 into processing units (blocks) and encodes the partitioned image to generate a code sequence 140.
[0030] The image encoding device 100 includes a difference unit 101, a transformation unit 102, a quantization unit 103, an inverse quantization unit 104, an inverse transformation unit 105, an adder 106, a prediction unit 107, a coding control unit 108, a variable length coding unit 109, a partitioning unit 110, a partitioning control unit 111 and a partition information description unit 112. It should be noted that the partitioning unit 110 and the forecasting unit 107 may each include a memory therein.
[0031] The input image signal 120 is inserted into the partitioning unit 110. The partitioning unit 110 splits the input image signal 120, based on a split control signal 129, to generate split image signals 121 and outputs the divided image signals generated 121 for the difference unit 101 and the forecast unit 107.
[0032] The partitioning control unit 111 determines a partitioning model that indicates how the image should be partitioned by the partitioning unit 110. In this document, the processing units (blocks) are in a hierarchical format and the partitioning control unit 111 determines the partitioning model in which the input image signal 120 is divided hierarchically in order to start from the largest unit of the processing units.
[0033] Examples of the partitioning model determined by the partitioning control unit 111 will be described with reference to figures 2A, 2B, and 2C and figures 3A, 3B and 3C.
[0034] As shown in figure 2A to figure 2C, the partitioning model determined by the partitioning control unit 111 is represented by the hierarchical depth (Depth). As shown in figure 2A, an unpartitioned block can be represented as Depth = 0, blocks obtained by partitioning the unpartitioned block into four can be represented as Depth = 1 and the following blocks can be represented in the same way. Figure 2B shows an example of block sizes and hierarchical depths when the largest block size is 64 pixels horizontally × 64 pixels vertically. Figure 2C shows an example of block sizes and hierarchical depths when the largest block size is 128 pixels in the horizontal × 128 pixels in the vertical.
[0035] The partitioning model will be described in more detail with reference to figures 3A to 3C.
[0036] Similar to the case shown in figure 2B, figure 3A shows an example in which the largest block size is 64 pixels horizontally × 64 pixels vertically and the smallest block size is 8 pixels horizontally × 8 pixels vertically. The block is partitioned by a method in which the following is specified in turn: whether the largest block size is to be partitioned; and if, if the blocks obtained by partitioning the largest block must be partitioned additionally. The block partitioning model can be represented by hierarchy (Dn_type) for each hierarchical depth. In this document, it is assumed that n is a hierarchical depth value (Depth).
[0037] Figure 3B shows an example in which the partitioning model shown in figure 3A is represented by the hierarchical partitioning mode information. In this document, for the sake of simplicity, there are two types of hierarchical partitioning mode information that include a type that indicates that the block is not partitioned (Dn_type = 0) and a type that indicates that the block is partitioned into four ( Dn_type = 1). It should be noted that, henceforth, the hierarchical depths represented by Depth = 0, 1, 2 and 3 will be described as hierarchical depths 0, 1, 2 and 3 respectively.
[0038] First, the largest block is partitioned and therefore has D0_type = 1. In a hierarchical depth 1 (Depth = 1) for the next block size, the hierarchical partitioning mode information is represented as follows: in a zigzag from top to bottom, non-partitioned block (D1_type = 0); partitioned block (D1_type = 1); non-partitioned block (D1_type = 0); and partitioned block (D1_type = 1). Here, hierarchical partitioning mode information at the next hierarchical depth 2 (Depth = 2) is unnecessary for unpartitioned blocks. Next, the same representation is also used for hierarchical depth 2 (Depth = 2) for a block size that is further partitioned. Specifically, four blocks at a hierarchical depth 2 (Depth = 2) obtained by partitioning the block at a hierarchical depth 1 which is the first block that has D1_type = 1 are all unpartitioned (D2_type = 0). With respect to the four blocks obtained by partitioning obtained by partitioning the last block that has D1_type = 1, the first block can be represented as partitioned (D2_type = 1), and the remaining three blocks can be represented as unpartitioned (D2_type = 0) .
[0039] Figure 3C shows an example in which the representation in figure 3B is simplified and collectively represented. In other words, figure 3C shows an example in which the hierarchical partitioning mode information for each block size is collectively represented as the partitioning mode (type) information. It should be noted that, in this example, the partitioning mode information is, similarly to the hierarchical partitioning mode information, binary information, one of which indicates that a block is partitioned (1) and the other of which indicates that a block is not partitioned (0). Therefore, the information content of the partitioning model shown in figure 3A is 13 bits. The partitioning control unit 111 then outputs the partition information 130 indicative of the partitioning model as shown in figure 3C to the partition information description unit 112.
[0040] In the following, the operation of the partitioning control unit 111 to determine the partitioning model presented above will be described with reference to figure 4.
[0041] The cost information (coding cost) required to determine the partitioning model is calculated, for example, as follows.
[0042] The partitioning unit 110 splits the input image signal 120 at a size of interest for costing to generate the split image signals 121 and outputs the generated split image signals 121 to the forecast unit 107.
[0043] The forecast unit 107 generates a predicted image signal 128 based on a decoded image signal 127 that has been encoded and decoded and a forecast mode acquired from the encoding control unit 108. In this document, the control unit code 108 specifies for forecast unit 107 a forecast mode from at least one candidate prediction mode that is predetermined. Examples of the candidate prediction mode include a mode in which predicted pixels are generated by extrapolating adjacent pixels on the screen in a predetermined direction and a mode in which predicted pixels are generated by using pixels that have a high correlation to another encoded frame and decoded frame .
[0044] In addition, forecasting unit 107 calculates coding cost which is the weighted sum of forecasting information and correlation information. In this document, the forecast information is information necessary for the generation of the predicted image signal 128, such as orientation information to extrapolate adjacent pixels on the screen and relative position information (motion vector information) to another frame. The correlation information indicates the degree of correlation between the split image signal 121 and the predicted image signal 128 and is, for example, a sum of absolute differences between the split image signal 121 and the predicted image signal 128. A forecast unit 107 calculates as the cost of coding, for example, a value indicated below (Equation 1) which is known as a cost function.
[0045] In addition, the forecasting unit 107 calculates the encoding costs and outputs to the difference unit 101 a predicted image signal 128 that has been predicted in a forecasting mode that produces a lower encoding cost of all candidate forecasting modes. The forecasting unit 107 issues the forecasting mode, the forecasting information, and the coding cost that are, at that time, to the coding control unit 108. The coding control unit 108 issues the coding cost described above for the partitioning control unit 111 and emits a coding control signal 132 that includes the forecast mode and the forecasting information for the variable length coding unit 109.
[0046] For example, a Lagrangian Cost Function J indicated by (Equation 1) will be used as the RD cost function above. [Equation 1] J = D + λ.R (Eq. 1) where R is an encoding amount that is used to encode a difference image (quantized transformation coefficient information 124), the prediction mode and the prediction information, D is an encoding distortion amount and λ is a multiplier Lagrange calculated according to a QP quantization parameter that is used for coding. The coding control unit 108 selects a forecast mode that produces a lower cost function J as a forecast mode for use for coding.
[0047] It should be noted that substitution values can be used for R and D values. For example, only the prediction mode information can be used as the R coding amount and an absolute difference sum between the divided image signal 121 and the predicted image signal 128 can be used as the amount of encoding distortion.
[0048] Figure 4 is a flow chart showing the operation of the partitioning control unit 111.
[0049] In this document, for the sake of simplicity, an example is shown in which the largest block size is 64 pixels horizontally × 64 pixels vertically, the smallest block size is 8 pixels horizontally × 8 pixels vertically and the information partitioning mode indicates two types that include a type that indicates that a block is partitioned (1) and a type that indicates that it is not partitioned (0) as shown in figure 2B and figure 3B.
[0050] The partitioning control unit 111 acquires the costs of encoding the divided image signals 121 obtained by the partitioning unit 110 which divides the input image signal 120 into blocks of 64 pixels horizontally × 64 pixels vertically. The partitioning control unit 111, then, sets the values of the acquired coding costs as cost values (D0_cost) of blocks of 64 pixels horizontally × 64 pixels vertically (hierarchical depth 0) (step S401).
[0051] Then, the partitioning control unit 111 resets (set to 0) the "D1_total_cost" which indicates a total coding cost for the next hierarchical depth 1 (Depth = 1) (step S402).
[0052] Next, the partitioning control unit 111 performs iteration (the processing performed between steps S403 and S424) in all four blocks (four blocks in this example) at hierarchical depth 1 (Depth = 1) obtained by partitioning the block of 64 pixels horizontally × 64 pixels vertically. In other words, the partitioning control unit 111 repeats the processing steps from S403 to S424, which sequentially sets a counter D1_loop to 0, 1, 2 and 3.
[0053] Next, the partitioning control unit 111 acquires the cost of encoding a 32-pixel signal horizontally × 32 pixels vertically obtained by additional partitioning of the block at hierarchical depth 0. The partitioning control unit 111 then sets the cost of coding acquired as a cost value (D1_cost [D1_loop]) of the 32-pixel block horizontally × 32 pixels vertically located in a position indicated by the D1-Joop counter (step S404). It should be noted that the processing order when the Dn-loop counter = 0 to 3 can be the same when there is encoding and decoding. An example of the processing order includes a zigzag way from the top to the bottom.
[0054] Then, the partitioning control unit 111 resets (set to 0) "D2_total_cost" which indicates a total coding cost for the next hierarchical depth 2 (Depth = 2) (step S405).
[0055] Next, the partitioning control unit 111 performs iteration (the processing performed between steps S406 and S418) in all blocks (four blocks in this example) at hierarchical depth 2 (Depth = 2) obtained by partitioning the block in upper hierarchical depth 1 (Depth = 1) in D1_loop. In other words, the partitioning control unit 111 repeats processing steps S406 to S418 and sequentially sets a counter D2_loop to 0, 1, 2 and 3.
[0056] Next, the partitioning control unit 111 acquires the cost of encoding a 16-pixel signal horizontally × 16 pixels vertically obtained by additional partitioning of the blocks at hierarchical depth 1. The partitioning control unit 111, then, fixes the encoding cost acquired as a cost value (D2_cost [D2_loop]) of the 16-pixel block horizontally × 16 pixels vertically located in a position indicated by the D2_loop counter (step S407).
[0057] In this way, the partitioning control unit 111 restarts (fixed at 0) "D3_total_cost" which indicates a total coding cost for the next hierarchical depth 3 (Depth = 3) (step S408).
[0058] Then, the partitioning control unit 111 performs iteration (the processing carried out between steps S409 and S412) in all blocks (four blocks in this example) at hierarchical depth 3 (Depth = 3) obtained by partitioning the blocks at hierarchical depth upper 2 (Depth = 2) on the D2_loop. In other words, the partitioning control unit 111 repeats the processing steps from S409 to S412 which sequentially sets a counter D3_loop to 0, 1,2 and 3.
[0059] Next, the partitioning control unit 111 acquires the cost of encoding an 8-pixel signal horizontally χ 8 pixels vertically obtained by additional partitioning of the block at hierarchical depth 2. The partitioning control unit 111 then fixes the encoding cost acquired as a cost value (D3_cost [D3_loop]) of the 8-pixel block horizontally × 8 pixels vertically located in a position indicated by the D3_loop counter (step S410). The partitioning control unit 111 then adds D3_cost [D3_loop] to "D3_total_cost" (step S411).
[0060] Then, if D3_loop continues, the partitioning control unit 111 increments the D3_loop counter value by 1 and performs the iteration. When D3_loop is completely finished, the partitioning control unit 111 proceeds to the next step (step S412).
[0061] Next, the partitioning control unit 111 compares the calculated "D3_total_cost" and the calculated "D2_cost [D2_loop]" described above (step S413). When "D2_cost [D2_loop]" is greater than "D3_total_cost" (YES in step S413), partitioned blocks have a lower encoding cost than non-partitioned blocks. Therefore, the partitioning control unit 111 sets "D2type = 1" indicative of a partitioned block (step S414) and adds the value from "D3_total_cost" to "D2_total_cost" (step S415).
[0062] On the other hand, when "D2_cost [D2_loop]" is less than "D3_total_cost" (NOT in step S413), non-partitioned blocks have a lower encoding cost than partitioned blocks. Therefore, the partitioning control unit 111 sets "D2type = 0" indicative of an unpartitioned block (step S416), and adds the value of "D2_cost [D2_loop]" to "D2_total_cost" (step S417).
[0063] Then, if D2_loop continues, the partitioning control unit 111 increments the D3_loop counter value by 1 and performs the iteration. When the entire D2_loop ends, the partitioning control unit 111 proceeds to the next step (step S418).
[0064] Next, the partitioning control unit 111 compares the calculated "D2_total_cost" and the calculated "D1_cost [D1_loop]" described above (step S419). When "D1_cost [D1_loop]" is greater than "D2_total_cost" (YES in step S419), partitioned blocks have a lower encoding cost than non-partitioned blocks. Therefore, the partitioning control unit 111 sets "Dltype = 1" as indicative of the partitioned block (step S420), and adds the value of "D2_total_cost" to "D1_total_cost" (step S421).
[0065] On the other hand, when the "D1_cost [D1 loop]" is greater than the "D2_total_cost" (NOT in step S419), the non-partitioned blocks have a lower encoding cost than the partitioned blocks. Therefore, the partitioning control unit 111 sets the "D1type = 0" indicative of an unpartitioned block (step S422) and adds the value of "D1_cost [D1_loop]" to "D1_total_cost" (step S423).
[0066] Then, if the D1_loop continues, the partitioning control unit 111 increases the value of the counter D1 loop by 1 by 1 and performs the iteration. When the entire D1 loop ends, the partitioning control unit 111 proceeds to the next step (step S424).
[0067] Finally, the partitioning control unit 111 compares the calculated "D1_total_cost" and the calculated "DO cost" described above (e-cover S425). When the "DO cost" is greater than the "D1_total_cost" (YES in step S425), the partitioned blocks have a lower coding cost than the non-partitioned blocks. Therefore, the partitioning control unit 111 sets the "DOtype = 1" indicative of the partitioned block (step S426).
[0068] On the other hand, when the "DO cost" is less than "D1_total_cost" (NOT in step S425), the non-partitioned blocks have a lower encoding cost than the partitioned blocks. Therefore, the partitioning control unit 111 sets the "DOtype = 0" indicative of the unpartitioned block (step S427).
[0069] According to the above procedure, the partitioning control unit 111 can determine the partitioning model that produces the lowest coding cost.
[0070] It should be noted that the method for determining the partitioning model is just an example, and the present invention is not limited to it. For example, the partitioning control unit 111 can analyze the split image signal 121 obtained by the partitioning unit 110, partition a region where the variance of the pixel value distribution is high from the divided image signal 121 into small blocks and partitioning a region where the pixel distribution is consistent with the image signal divided into large blocks. This allows for the reduction of the circuit size of the image coding device 100.
[0071] Alternatively, according to another method for determining the partitioning model, the partitioning control unit 111 can determine the partitioning model by a method determined based on a result of the partitioning of surrounding encoded and decoded blocks. Alternatively, according to another method for determining the partitioning model, the partitioning control unit 111 can determine the partitioning model, using a result of the partitioning of blocks in another encoded frame and decoded frame. Details of these methods will be described with reference to modality 3.
[0072] In the following, a method in which the partition information description unit 112 describes partition information 131 will be described with reference to figure 5.
[0073] The partitioning control unit 111 issues the partition information 130 indicative of the partitioning model determined by the above method to the partition information description unit 112. In this document, the partition information 130 is described by the partitioning mode information hierarchy or the partitioning mode information presented above. The partition information description unit 112 generates, from the partition information 130, the partition information 131 to be encoded by the variable length encoding unit 109.
[0074] First, the partition information description unit 112 acquires hierarchical partitioning mode information (DOtype to D2type) for each hierarchical depth included in partition information 130 (step S501).
[0075] When DOtype is 0 (YES in step S502), the largest block in the hierarchical depth (Depth = 0) is not partitioned. Therefore, the partition information description unit 112 sets a variable "u-sed max depth" to "0", indicative of Depth = 0 (step S503). In this document, the variable "used_max_depth" is maximum used hierarchical depth information indicative of a maximum used hierarchical depth. The maximum hierarchical depth used indicates the deepest depth among hierarchical depths used in the largest block size. In other words, the maximum hierarchical depth used is a hierarchical depth of the deepest block among the partitioned blocks.
[0076] When the DOtype is not 0 (NOT in step S502), the partition information description unit 112 then determines whether all Dtypes are 0 (step S504). When all Dtypes are 0 (YES in step S504), blocks in hierarchical depth 1 (Depth = 1) are not partitioned. Therefore, the partition information description unit 112 sets the variable "usedmaxdepth" to "1" indicative of Depth = 1 (step S505).
[0077] On the other hand, when at least one Dltype is not 0 (NOT in step S504), the partition information description unit 112 then determines whether all D2type are 0 (step S506). When all D2type are 0 (YES in step S506), blocks in hierarchical depth 2 (Depth = 2) are not partitioned. Therefore, the partition information description unit 112 sets the variable "used max depth" to "2", indicative of Depth = 2 (step S507).
[0078] On the other hand, when at least one D2type is not 0 (NOT in step S506), even the smallest block size is partitioned. Therefore, the partition information description unit 112 sets the variable "u-sed_max_depth" to "3", indicative of Depth = 3 (step S508).
[0079] Next, the partition information description unit 112 determines whether at least one Dtype is set to 0 (step S509). When at least one Dltype is set to 0 (YES in step S509), it indicates that there is an unpartitioned block among the blocks that have a size that satisfies Depth = 1. Therefore, the partition information description unit 112 sets a variable "used_min_depth" in "1", indicative of Depth = 1 (step S510). In this document, the variable "u-sed_min_depth" is information of minimum used hierarchical depth indicative of a minimum used hierarchical depth. The minimum hierarchical depth used indicates the most shallow depth among the hierarchical depths used in the largest block size. In other words, the minimum hierarchical depth used is a hierarchical depth of the most superficial block among the partitioned blocks.
[0080] On the other hand, when D1type is set to 0 (NOT in step S509), the partition information description unit 112 then determines whether at least one D2type is set to 0 (step S511). When at least one D2type is set to 0 (YES in step S511), this indicates that there is an unpartitioned block among the blocks that have a size that satisfies Depth = 2. Therefore, the partition information description unit 112 is fixed the variable "used_min_depth" in "2", indicative of Depth = 2 (step S512).
[0081] When no D2type is set to 0 (NOT in step S511), blocks that have a size that satisfies Depth = 2 are all partitioned. Therefore, the partition information description unit 112 sets the variable "usedmindepth" to "3", indicative of Depth = 3 (step S513).
[0082] The partition information description unit 112 determines "usedmaxdepth" as described above. In addition, the partition information description unit 112 determines "used_min_depth" only when "used_max_depth = 3." In addition, the partition information description unit 112 determines, based on "used_max_depth" and "used_min_depth", the partitioning mode information 130A as being variable-length encoded by the variable-length encoding unit 109 among the parts of the partitioning mode information included in partition information 130. Then, the partition information description unit 112 generates partition information 131 which includes "used_max_depth", "used_min_depth", and the determined partitioning mode information 130a and issues the generated partition information 131 for variable length encoding unit 109.
[0083] In the present document, details of a signal to be encoded by variable length by the variable length encoding unit 109 will be described with reference to figures 6A, 6B, and 6C.
[0084] Figures 6A to 6C are schematic views showing the partition information 130 and 131 in results from different block partitions.
[0085] First, the result of the block partition shown in figure 6A will be described. In this case, the partition information 130 includes as the partitioning mode information, "1" for a 64 × 64 block, "0101" for 32 × 32 blocks, and "0000" and "0000" for 16x16 blocks obtained by partitioning of the two 32 × 32 blocks that have "1" (partitioned blocks) as the partitioning mode information. The partition information description unit 112 determines "used_max_depth" in this case as "2". In this case, since the maximum hierarchical depth as a result of partitioning is 2, the information "0000" and "0000" which indicates that 16x16 blocks are not partitioned is unnecessary. Therefore, the partition information description unit 112 determines only the partitioning mode information "0101" in the 32 × 32 blocks as the partitioning mode information 130A to be encoded. The variable length encoding unit 109 then encodes partition information 131 which includes "used max depth" and the partitioning mode information "0101" in 32 × 32 blocks by variable length.
[0086] In this example, the partitioning mode information is handled as information indicative of partitioned block (1) and non-partitioned block (0) and therefore the bit length of partition information 130 is represented by 13 bits. On the other hand, because the partition information description unit 112 determines the maximum hierarchical depth used, the partition information 131 encoded by variable length by the variable length encoding unit 109 includes 4 bits of the partitioning mode information and "u- sed_max_depth ". In this document, "used_max_depth" is set to 0 to 3 (up to a hierarchical depth 3 in this example) and, therefore, can be represented by 2 bits. In other words, in this case, 13 bits of information can be represented by 6 bits.
[0087] Next, the result of another block partitioning shown in figure 6B will be described. As before, partition information 130 includes, such as partitioning mode information, "1" for a 64 × 64 block, "1111" for 32 × 32 blocks, and, "0000", "0001", "0000" , and "1100" for 16 × 16 blocks obtained by partitioning four 32 x 32 blocks that have "1" (partitioned blocks) as the partitioning mode information. The partition information description unit 112 determines that, in this case, "used_max_depth" is "3" and "used_min_depth" is "2". In this case, since the minimum hierarchical depth as a result of partitioning is 2, the partitioning mode information "1111" which indicates that 32 × 32 blocks are partitioned is unnecessary. Therefore, the partition information description unit 112 determines only four pieces of the partitioning mode information in the 16 × 16 blocks as the partitioning mode information 130A to be encoded. Then, variable length encoding unit 109 encodes partition information 131 which includes "used_max_depth", "used_min_depth" and the partitioning mode information "0000", "0001", "0000" and "1100" by variable length in 16 × 16 blocks.
[0088] Considering the bit length as in figure 6A, the bit length of the partition information 130 is 21 bits. On the other hand, the partition information 131 encoded by variable length by the variable length encoding unit 109 includes 16 bits of the partitioning mode information, "used_max_depth", and "u-sed_min_depth". In this document, "used_max_depth" is, as described above, 2 bits. The "used_min depth" is fixed at 1 to 3 and, therefore, can be represented by 1 bit to 2 bits. Therefore, 21 bits of information can be represented by 20 bits.
[0089] Next, the result of another block partitioning shown in figure 6C will be described. As before, partition information 130 includes, such as partitioning mode information, "1" for a 64 × 64 block, "1111" for 32 × 32 and "1111", "1111", "1111" and " 1111 "for 16 × 16 blocks obtained by partitioning four 32 x 32 blocks that have" 1 "(partitioned block) as the partitioning mode information. The partition information description unit 112 determines that "used_max_depth" is "3" and "used_min_ depth" is "3" in this case. In this case, since the minimum hierarchical depth as a result of partitioning is 3, the partitioning mode information "1111" which indicates that 32 × 32 blocks and 16 x 16 blocks are partitioned is unnecessary. Therefore, variable length encoding unit 109 encodes partition information 131 which includes "used_max_depth" and "used_min_depth” by variable length.
[0090] The bit length will be considered as in figure 6A and in figure 6B. The bit length of partition information 130 is represented by 21 bits. By the partition information description unit 112 determining the maximum used hierarchical depth and the minimum used hierarchical depth, the variable length encoded partition information 131 includes "used_max_ depth" and "used _min_depth." In this document, "used_min_depth" is 2 bits and "used_min_depth" is 1 bit to 2 bits as described above. Therefore, in this case, 21 bits of information can be represented by 4 bits.
[0091] It should be noted that statistical information can be used for variable length coding to assign a signal that occurs frequently to a short bit length and to assign a signal that occurs less to a long bit length. In addition, a dynamic probability model such as arithmetic coding can be used for variable length coding. In other words, it can be seen, albeit as a reference value, that the method of describing partition information according to the present modality increases the possibility that a greater amount of encoding can be reduced.
[0092] As described above, the forecasting unit 107 generates the predicted image signal 128 from the decoded image signal 127 which is an encoded image signal. Then, the forecasting unit 107 outputs the generated predicted image signal 128 to the difference unit 101 and to the adder 106.
[0093] The difference unit 101 calculates a difference between the split image signal 121, which is a signal obtained by dividing the input image signal 120 by the predicted image signal 128 to generate a differential signal 122 and output the generated differential signal 122 to processing unit 102.
[0094] The transformation unit 102 transforms the differential signal 122 to generate transformation coefficients 123 and outputs the generated transformation coefficients 123 to the quantization unit 103.
[0095] The quantization unit 103 quantizes the transformation coefficients 123 to generate the information of quantized transformation coefficients 124 and outputs the generated quantized transformation coefficients information 124 to the variable length coding unit 109 and to the inverse quantization unit 104.
[0096] The inverse quantization unit 104 performs inverse quantization of the information of quantized transformation coefficients 124 to generate transformation coefficients 125 and outputs the generated transformation coefficients 125 to the reverse transformation unit 105. The reverse transformation unit 105 performs an inverse transform on the coefficients transform 125 to generate a decoded afterimage signal 126, and output the generated decoded afterimage signal 126 to adder 106.
[0097] The adder 106 adds the decoded residual image signal 126 to the predicted image signal 128 to generate the decoded image signal 127, and outputs the generated decoded image signal 127 to the forecast unit 107.
[0098] The variable-length coding unit 109 encodes, by variable length, the information of quantized transformation coefficients 124 which are a signal to be coded, the coding control signal 132 and the partition information 131, according to the type of signal, for generate the code sequence 140.
[0099] It should be noted that details of the structure of code sequence 140 in the above partition information description method will be described with reference to mode 4.
[0100] In addition, the above method for determining the partitioning model is just an example and the present invention is not limited to it. For example, a result of partitioning from surrounding encoded blocks can be used. In addition, a result of partitioning another encoded frame can be used. Details in these cases will be described with reference to modality 3.
[0101] It should be noted that although in the present embodiment the partitioning of the macroblock which is a coding unit has been described, a present invention is not limited to the same. For example, units in which the transform is carried out by transformation unit 102 can be described in the same way. This case will be described in detail with reference to modality 4.
[0102] It should be noted that although the case has been described using two types that include a type that indicates that a block is partitioned into four blocks and a type that indicates that a block is not partitioned, the present invention is not limited to the same. For example, similarly to the case of NPL 1, the present invention is applicable to cases where the block is partitioned into non-square shapes (16 pixels × 8 pixels, 8 pixels × 16 pixels). Details of this case will be described with reference to modality 5.
[0103] It should be noted that if the variable length encoding unit 109 described above employs arithmetic encoding, pro-babilistic models used for arithmetic encoding may be exchanged based on information of the encoded block shape and / or information on the maximum hierarchical depth used and / or information of the minimum hierarchical depth used. This can be expected to further improve the coding efficiency.
[0104] It should be noted that if the variable length coding unit 109 described above employs a variable length code table, in the bit length calculation described above, when the reduction of the partition information is large, a long bit length can be assigned to the maximum used hierarchical depth and / or the minimum used hierarchical depth and when the reduction is small, a short bit length can be assigned to the information of the maximum used hierarchical depth and / or the minimum used hierarchical depth. This can, in addition, increase a rate of improvement of the coding efficiency by the present modality.
[0105] It should be noted that although in the detailed description of the present modality the largest block size is 64 pixels horizontally × 64 pixels vertically and the smallest block size is 8 pixels horizontally × 8 pixels vertically, the present invention is applicable regardless of size. Mode 2
[0106] In an embodiment 2 according to the present invention, an image decoding device 200 will be described which decodes a code sequence 140 generated by the image coding device 100 described above.
[0107] Fig. 7 is a block diagram of the image decoding device 200 which uses a partition information reconstruction unit 207 in accordance with the present embodiment. The image decoding device 200 shown in figure 7 includes a variable length decoding unit 201, a decoding control unit 202, a reverse quantization unit 203, a reverse transformation unit 204, a forecasting unit 205, a adder 206 and the partition information reconstruction unit 207. It should be noted that the forecast unit 205 may include a memory in them.
[0108] The code sequence 140 is a code sequence generated by the image coding device 100 according to embodiment 1 of the present invention. The code sequence 140 is inserted into the variable length decoding unit 201.
[0109] The variable length decoding unit 201 decodes the partition information that is included in code sequence 140 by variable length. Specifically, the variable length decoding unit 201 decodes code sequence 140 by variable length to generate a decoded signal 221 , and outputs the generated decoded signal 221 to the partition information reconstruction unit 207, the decoding control unit 202 and the reverse quantization unit 203. It should be noted that the variable length decoding unit 201 performs processing in partition units based on partition information 226 acquired by the partition information reconstruction unit 207.
[0110] When the decoded signal 221 is made up of quantized transformation coefficients, the reverse quantization unit 203 performs reverse quantization of the decoded signal 221 to generate transformation coefficients 222. The reverse transformation unit 204 performs reverse transform on the transformation coefficients 222 to generate a decoded residual image signal 223 and output the generated decoded residual image signal 223 to adder 206.
[0111] When the decoded signal 221 is information related to the forecast image generation 225 indicative of the forecast method, the decoding control unit 202 emits the partition information 226 acquired by the partition information reconstruction unit 207 and the information related to the generation predicted image 225 for the forecast unit 205. In this document, information related to the predicted image generation 225 corresponds to the encoding control signal 132 on the image coding device 100, and includes, for example, the forecast mode and forecast information.
[0112] The forecast unit 205 generates a predicted image signal 224 in partition units based on the partition information 226 by using the decoded image signal that has been decoded (output image signal 240) and information related to generation predicted image 225 acquired from decoding control unit 202 and outputs the generated predicted image signal 224 to adder 206. Adder 206 adds decoded residual image signal 223 and predicted image signal 224 to generate the signal decoded image (output image signal 240).
[0113] It should be noted that when the decoded signal 221 is partition decoding information, the partition information reconstruction unit 207 reconstructs partition information 226 from the partition decoding information to determine a partitioning model. In this document, the partition decoding information corresponds to the partition information 131 on the image encoding device 100. The partition information 226 represents the partitioning model and corresponds to the partition information 130 according to mode 1. Details of the processing flow will be described with reference to figure 8.
[0114] The partition information reconstruction unit 207 acquires the value of "used_max_depth" in the partition decoding information (step S801). When "used_max_depth" is 0 (NOT in step S802 and NOT in step S803), the partition information reconstruction unit 207 determines that the largest block size should not be partitioned (step S804). On the other hand, when "usedmaxdepth" is 1 (NOT in step S802 and YES in step S803), the partition information reconstruction unit 207 determines that the block must be partitioned into blocks that are all of a size that satisfies Depth = 1 (the size of blocks obtained by partitioning the largest block into four) (step S805).
[0115] When "used_max_depth" is 2 (YES in step S802 and NO in step S806), the partition information reconstruction unit 207 acquires "D 1 type" for each block, which changes the counter for the blocks in Depth1 in the order of 0, 1,2 and 3 (step S807 to step S809).
[0116] The partition information reconstruction unit 207 partitions the largest block, based on the acquired D1type (step S810). It should be noted that D1type is part of information to specify, in order, for example, in a zigzag manner from top to bottom, a partitioning model for each of the four blocks obtained by partitioning the largest block. The partition information reconstruction unit 207 determines, based on Dltype, whether each block obtained by the partitioning of the largest block should be partitioned to determine the partitioning model of the largest block.
[0117] When "used_max_depth" is 3 (YES in step S802 and YES in step S806), the partition information reconstruction unit 207 acquires "used_min_depth" (step S811).
[0118] When "used_min_depth" is 3 (NOT in step S812 and NOT in step S813), the partition information reconstruction unit 207 determines that the largest block should be partitioned into blocks that are all of a size that satisfies Depth = 3 ( the size of blocks obtained by partitioning the largest block into 64) (step S814).
[0119] When "used_min_depth" is 2 (NO in step S812 and YES in step S813), the partition information reconstruction unit 207 changes a counter in the order of 0, 1, 2 and 3 for the blocks in Depth1, and changes a counter in the order of 0, 1, 2 and 3 for blocks in Depth2, which is the hierarchical depth once deeper than Depth1, which thus acquires the "D2type" of each of the blocks in Depth2 (step S815 to step S819 ). Then, assuming that all blocks have D1type being 1, the partition information reconstruction unit 207 partitions the largest block, based on D2type (step S820). Specifically, the partition information reconstruction unit 207 partitions the largest block into blocks that all have a size that satisfies Depth = 2. Then, based on D2type, the partition information reconstruction unit 207 determines whether each block it must be partitioned, which determines, in this way, the partitioning model of the largest block.
[0120] When "used_min_depth" is 1 (YES in step S812), partition information reconstruction unit 207 iterates (processing performed between step S821 and step S827) while changing the order counter from 0, 1, 2 and 3 for the blocks in Depth1 to acquire "D1type" from each block in Depth1 (step S822).
[0121] It should be noted that when "D1type" is not 0 (NOT in step S823), the partition information reconstruction unit 207 iterates (the processing performed between step S824 and step S826) while changing the counter in the order of 0 , 1, 2 and 3 for the blocks to a Depth2 to acquire "D2type" from each block in Depth2 (step S825). After that, the partition information reconstruction unit 207 advances the counter to Depth1 by 1.
[0122] On the other hand, when "D1type" is 0 (YES in step S823), the partition information reconstruction unit 207 advances the counter to Depth1 by 1 (step S827). Once all cycles end, the partition information reconstruction unit 207 determines the partitioning model of the largest block based on D1type and D2type which are information indicating whether each of the blocks corresponding to Depth1 and Depth2, respectively , for each hierarchical depth, they must be partitioned (step S828).
[0123] Processing as described above allows correct decoding of code sequence 140 encoded by the coding method according to mode 1. As described above, the present invention can achieve a coding method that provides high coding efficiency and a method decoding. Mode 3
[0124] In the present modality, a case will be described in which the partition information description unit 112 provides for the partitioning model.
[0125] The partition information description unit 112 uses a coded block partitioning model to estimate a predicted partitioning model which is a predicted value of the partitioning model of a block to be processed. The partitioning control unit 111 determines the partitioning model of the block to be processed using the estimated predicted partitioning model.
[0126] It should be noted that the partition information description unit 112 can use a block partitioning model that is adjacent to the block to be processed and in the same frame as the block to be processed to estimate the partitioning model of the block to be processed processed or you can use a block partitioning model included in another time frame to estimate the block partitioning model to be processed.
[0127] First, a method that provides for a partitioning model for a block to be processed (hereinafter also described as the current block) from a partitioning model for an adjacent encoded and decoded block (hereinafter also referred to as the adjacent block), will be described with reference to figures 9A, 9B, 9C, 9D, 9E, 9F, 9G, 9H, 9I, 9J, 9K, and 9L and figure 10. Figures 9A to 9L are schematic views that illustrate cases in which the block partition information current are predicted from the partition information of an adjacent block.
[0128] Figures 9A to 9L show examples in which a current block 900 is provided by the use of adjacent blocks 901 and 902. In the present document, figure 9A, figure 9E and figure 9I each show a case in which a block left adjacent to current block 900 is prioritized when a block adjacent to current block 900 is not used for forecasting. Figure 9B, figure 9F and figure 9J each show a case in which an upper block adjacent to the current block 900 is prioritized when a block adjacent to the current block 900 is not used for forecasting. Figure 9C, figure 9G, and figure 9K each show a case in which an adjacent left block is prioritized when a block adjacent to the current block 900 is used for forecasting. Figure 9D, figure 9H, and figure 9L each show a case in which an adjacent upper block is prioritized when a block adjacent to the current block 900 is used for forecasting.
[0129] Figures 9A to 9H show cases where no particular forecast restriction is imposed. Figures 9I to 9L show cases where the maximum predicted hierarchical block (Depth = 2 in this case) is specified.
[0130] Figure 10 is a flowchart that illustrates a procedure for predicting the partitioning model according to the present modality.
[0131] In this document, the partition information description unit 112 performs forecast processing in the same order as processing to determine the partitioning model (for example, in a zigzag order, from top to bottom) and , in relation to the hierarchy (Depth), the forecast processing is carried out in order from top (Depth = 0) to bottom (Depth = the hierarchical depth of the smallest block size).
[0132] First, the partition information description unit 112 acquires, for the current block, partition information from an adjacent processed block that is adjacent to the current block (step S1001). The partition information acquired here is from an adjacent block at the same hierarchical depth as the current block. When there is no partition information for an adjacent block at the same hierarchical depth, the partition information description unit 112 determines the partition information for the current block as "unpartitioned block."
[0133] When the partition information of both the adjacent upper block and the adjacent left block or the partition information of both an adjacent block which is the upper adjacent block or the adjacent left block that is prioritized over the other, indicates "unpartitioned block" ( YES in step S1002), the partition information description unit 112 provides that the current block should not be partitioned (step S1003). On the other hand, when the partition information of an adjacent block, which is the upper adjacent block or the adjacent left block that is prioritized over the other, indicates "partitioned block" (NOT in step S1002), the unit of information description partition 112 provides that the current block is to be partitioned (step S1004). If the partition information description unit 112 provides that the current block is to be partitioned, the same processing is performed for the next hierarchical depth.
[0134] Information that indicates which of the upper adjacent blocks and the left adjacent blocks is prioritized can be transmitted in the header information described below or can be predetermined during encoding and decoding.
[0135] As in figures 9A, 9B, 9E, 9F, 9I and 9J, when the partition information of the adjacent block is acquired, the adjacent blocks in the largest block size (the size indicated by Depth = 0) to be predicted may not be considered as processed. In other words, when a partitioned block included in the current block 900 that has the largest block size is the current block, the partition information description unit 112 uses only the adjacent block partitioning information included in adjacent blocks 901 and 902 for forecasting without using partition information from an adjacent block included in the current block 900. In this case, the partitioning forecast can be made by using only the partition information from the upper adjacent block and the left adjacent block. Therefore, the processing speed can be increased.
[0136] On the other hand, since the forecast is performed in the same order as the processing order (for example, in the order of the zigzag way from top to bottom), prediction information for partitioning an adjacent block into the largest block size also can be used in figure 9C, figure 9D, figure 9G, figure 9H, figure 9K, and in figure 9L. In this case, the prediction accuracy can be improved and, thus, the reduction of a greater amount of coding can be expected.
[0137] In addition, since the forecast is carried out in the same order as the processing order, certain partition information can also be used. In this case, the prediction accuracy can be further improved and, therefore, a reduction in a greater amount of coding can be expected.
[0138] It should be noted that at least any information, or whether the partitioning forecast information processed in the largest block size must be used or whether the processed partitioning information must be used can be transmitted in the header information described below or can be predetermined during encoding and decoding.
[0139] In the following, a method for predicting the partitioning model of a current block from the partitioning model of a block in another coded frame and another decoded frame will be described with reference to figure 11A and figure 11B. Figure 11A and figure 11B are schematic views that illustrate the case in which the current block partitioning model is predicted from the block partitioning model in the coded and decoded frames. Figure 11A is a schematic view showing the expected result of partitioning blocks in a processed frame 1101 that has been encoded and decoded and the prediction of partitioning in the current block in a current frame 1102 to be encoded and decoded.
[0140] In this document, partitioned relative position information shown in figure 11A is information that indicates which block in which the forecast frame should be used for forecasting. It should be noted that as shown in figure 11B, using the result of partitioning a processed frame 1104 before a current frame 1103 or a processed frame 1105 after the current frame 1103 allows efficient prediction.
[0141] It should be noted that the partition information description unit 112 can determine the relative position information in a partitioned form of a block to be partitioned (the largest block size), based on representative motion vector information among pieces of information motion vectors used for intraprevision calculated by a predetermined method. For example, the partition information description unit 112 calculates a median value of a motion vector from an adjacent block and also calculates a median value of a motion vector from a frame of reference in the same way. Then, the partition information description unit 112 can use the motion vector based on the calculated median values as the relative position information.
[0142] Alternatively, if a block to be partitioned includes motion vectors, the partition information description unit 112 can use, as the relative position information in a partitioned form, information in the main motion vector and the frame of reference as they are. In such cases, there is no need to transmit additional information for forecasting and, therefore, the amount of coding can be reduced. It should be noted that in this case too, the image coding device 100 can separately transmit the relative position information in a partitioned manner. For example, image encoding device 100 first derives partition information from a block to be partitioned. Then, from the encoded frame, the image encoding device 100 calculates, as the partitioned relative position information, relative position information between a block to be partitioned and a block that has the same or partition information closest to the block to be partitioned. Then, the image coding device 100 encodes and decodes the relative position information in a partitioned manner in the same way as, for example, the motion vector information that is used by the forecasting unit 107 for intraprevision.
[0143] Next, how the encoded partition information is transmitted (figure 12A) and reconstructed (figure 12B) using the predicted partitioning information will be described with reference to figure 12A and figure 12B, respectively.
[0144] The partition information description unit 112 calculates a difference between the partitioning model and the predicted partitioning model, and generates partition information 131 that includes the difference. Hereinafter, the details will be described.
[0145] Figure 12A is a flow chart illustrating the operation of the partition information description unit 112 according to mode 3. It should be noted that the partition information description unit 112 performs description processing in the same order as the processing determination of the partitioning model (for example, in the order of the zigzag way from top to bottom) and in relation to the hierarchy (Depth), the description processing is carried out in order from top (Depth = 0) down (the depth hierarchical that satisfies Depth = the smallest block size).
[0146] First, the partition information description unit 112 acquires the expected partition information and partitioning information (hereinafter, the expected partitioning information) in the current block (step S1201). Next, the partition information description unit 112 derives the maximum differential hierarchical depth (step S1202) in the same way as the processing that derives the maximum used hierarchical depth (used_max_depth) in modality 1. In this document, the differential hierarchical depth maximum is information that indicates the hierarchical depth from which the partition information and the predicted partitioning information are different. In other words, the maximum differential hierarchical depth is information that indicates the upper hierarchical depth from which the partition information and the predicted partitioning information are different. For example, the derivation method uses 0 for the predicted partitioning information and the partition information that are the same and 1 for the predicted partitioning information and the partition information that are different and performs the processing illustrated in the gram flow of the figure 5, which derives, in this way, the maximum hierarchical depth used. Alternatively, if the hierarchical depth (smallest block) that is less than the maximum differential hierarchical depth is present, the partition information description unit 112 fixes the partition information of the hierarchical depth (step S1203).
[0147] It should be noted that the method description is only an example and the method description is not limited to the way in which the forecast method according to the present invention is employed.
[0148] Figure 12B is a flow chart illustrating the operation of reconstructing the partition information that is encoded in the procedure illustrated in figure 12A.
[0149] First, the partition information reconstruction unit 207 acquires information in the maximum differential hierarchical depth and in the partitioning information provided for in the block to be partitioned (step S1204). In this document, the information in the maximum differential hierarchical depth is information indicative of the maximum differential hierarchical depth and included in the code sequence 140 generated by the image coding device 100. The predicted partitioning information is generated by the decoding device of image 200 which performs the same processing as the processing performed by the image encoding device 100 described above.
[0150] Next, the partition information reconstruction unit 207 fixes the predicted partitioning information as the partition information in the hierarchical depth (information related to the same as the forecast) greater than the maximum differential hierarchical depth (step S1205).
[0151] Finally, the partition information reconstruction unit 207 reconstructs the partition information at a lower hierarchical depth than the maximum differential hierarchical depth (step S1206). Therefore, the partition information in the current block is reconstructed. In the present document, the partition information at the hierarchical depth less than the maximum differential hierarchical depth is included in the code sequence 140 generated by the image coding device 100. Mode 4
[0152] In the present embodiment, a method in which the partition information description unit 112 that records the partition-related information as the header information of a stream and that encodes and decodes the header information will be described.
[0153] Figure 13 is a diagram showing the configuration of code sequence 140 in the image coding method according to the present embodiment. The part (a) of figure 13 indicates an encoded signal that corresponds to a video sequence formed from at least one screen. As shown in (a) of figure 13, code sequence 140 includes SeqData sequence data which is data for the entire screen and a SeqHdr sequence header which is data common to all data for the entire screen. The SeqHdr sequence header includes information related to the Seplnfo partition.
[0154] The information related to the Seplnfo partition is an indicator for switching, for example, if the method described with reference to mode 1 is used and only the partition information (Dn_type information) is encoded. It should be noted that the information related to the Seplnfo partition can be information related to the prediction of the partitioning model described with reference to modality 3.
[0155] Part (b) of figure 13 shows a structure of the SeqData sequence data. The SeqData sequence data includes the plurality of PicStr picture signals. Each PicStr picture signal is a coded signal that corresponds to a screen. In other words, each PicStr picture signal is an encoded picture signal.
[0156] Part (c) of figure 13 shows a structure of the PicStr picture signal. The PicStr figuration signal includes PicData figuration data that is given to a screen, and a PicHdr figuration header that is data common to an entire screen. For example, the PicHdr picture header can include information related to the Seplnfo partition.
[0157] Part (d) of figure 13 shows the structure of the PicData figuration data. PicData figuration data includes the plurality of SliceStr slice signals. Each SliceStr slice signal is an encoded signal that is a set of a plurality of block units of a slice.
[0158] The part (e) of figure 13 shows a structure of the S-liceStr slice signal. The SliceStr slice signal includes SliceData slice data that is data for a slice and a SliceHdr slice header that is data common to all data in a slice. The SliceHdr slice header can include information related to the Seplnfo partition. This allows the image decoding device 200 to correctly decode the received encoded signal even when the processing method is appropriately switched by the image encoding device 100 into SliceData slice data units.
[0159] It should be noted that when the SeqData sequence data includes the plurality of PicStr picture signals, a part of the PicHdr picture headers may include information related to the Seplnfo partition, rather than all PicHdr picture headers include information related to the partition Seplnfo.
[0160] Thus, when the PicData figuration data includes the plurality of SliceStr slice signals, only part of the SliceHdr slice headers can include information related to the Seplnfo partition instead of all SliceHdr slice headers including information related to the Seplnfo partition. If a content of the information related to the Seplnfo partition is common to the slices and if the information related to the Seplnfo partition is not in the SliceHdr slice header as shown in (e) of figure 13, the image decoding device 200 replaces the information related to the Seplnfo partition included in the SliceHdr slice header of another slice for information related to the partition in a current slice. This can suppress an increase in the number of bits because information related to the Seplnfo partition is included repeatedly in code sequence 140.
[0161] As shown in (e) of figure 13, the Slice-Data slice data includes a plurality of pieces of larger LCTB size block data. Each of the LCTB largest block data is information in the largest block size in block units. Each of the largest LCTB size block data includes a larger LCTBHdr block header and a CTBs block signal. The CTB block signal includes a plurality of CTB block data pieces in a hierarchical format.
[0162] In this document, the larger block header LCTBHdr includes the maximum hierarchical depth used, the minimum hierarchical depth used or the maximum differential hierarchical depth. It should be noted that the partition information in all blocks can be included in the largest block header LCTBHdr or the partition information in a corresponding block can be included in each of the CTB block data.
[0163] Part (f) of figure 13 shows the structure of the CTB block data. A portion of the CTB block data includes a transformation block header TUHdr, which is header information in the transformation structure, and a transformation block TUs. Similar to the block (CUs) described above, the TUs transformation block can also be partitioned. In other words, the present invention can be applied to the transformation blocks. In this case, the transformation of varying sizes can be carried out and the amount of coding to transmit the shapes can be reduced.
[0164] Alternatively, when code sequence 140 is transmitted in packets that are non-consecutive data units instead of a consecutive bit stream, the header part and the different data part of the header can be transmitted separately. In this case, the header part and the data part are not included in a bit stream as shown in figure 13. When packets are employed, however, the header part and the data parts are not transmitted consecutively, and a corresponding data part and a corresponding header part are merely transmitted in different packets. In other words, although the code sequence 140 is not a bit stream, the concept is the same as in the case of the bit stream described with reference to figure 13.
[0165] In the decoding method according to the present invention, the code sequence 140 encoded by the above method is decoded by the following procedure. First, the image decoding device 200 acquires the Seplnfo partition-related information included in the SeqHdr sequence header, and stores the acquired partition-related information. Next, the image decoding device 200 acquires the information related to the Seplnfo partition included in the PicHdr picture header, and updates the stored partition-related information with the acquired partition-related information. In the present document, if the information related to the Seplnfo partition or part of it is not present, the image decoding device 200 stores, as it is, the partition-related information included in the SeqHdr sequence header. In this way, the image decoding device 200 acquires the information related to the Seplnfo partition included in the SliceHdr slice header and updates the information related to the partition stored by the information related to the acquired partition. Next, the image decoding device 200 acquires the largest block data size LCTB to acquire information necessary for partitioning (the maximum hierarchical depth used, the minimum hierarchical depth used or the maximum differential hierarchical depth and partitioning information ) included in the larger block header LCTBHdr. Then, the image decoding device 200 uses the acquired information to determine the partitioned shape of the subsequent blocks.
[0166] This allows the image decoding device 200 to correctly decode the code sequence 140. Mode 5
[0167] In the present embodiment, yet another variation of the encoding method and the decoding method according to embodiments 1 to 4 of the present invention will be described.
[0168] Figures 14A to 14C are schematic views illustrating the partitioning method that uses a plurality of blocks.
[0169] The above description was given for the purpose of simplicity when a block is partitioned into four square blocks. However, in addition, a block can be partitioned into two rectangular blocks. It should be noted that, in this case, blocks partitioned into shapes other than the square shape should not be further partitioned.
[0170] For example, as shown in figures 14A to 14C, the partitioning mode information indicated by Dn_type changes from the binary information 0 (non-partitioned block) and 1 (partitioned block) to quaternary information of 0 (non-partitioned block), 1 (block partitioned into four blocks), 2 (block partitioned into two blocks in the vertical direction) and 3 (block partitioned into two blocks in the vertical direction). Even when the partitioning mode information is described by such quaternary information, the method according to the present invention allows to encode the partition information using a small amount of encoding.
[0171] Specifically, an example will be described in which the partition information description unit 112 describes partitioned block shapes shown in figure 14A as the partition information. The partitioned block shapes shown in figure 14A represented by the mentioned parameters are shown in figure 14B. In such a way, related partitioning mode information is fixed in Dn type. In this case, according to the method of mode 1, the maximum hierarchical depth used is 2. The partition information description unit 112 describes the maximum hierarchical depth used and the partitioning mode information 130A at Depth = 1 (blocks of 32 pixels horizontally × 32 pixels vertically) as the partition information 131 to be encoded. This allows the partition information to be encrypted to use a small amount of encryption. The image decoding device 200 decodes the partition information that has Dn_type, using the same form rule as when encoded, thereby reconstructing the partitioned form.
[0172] Figures 15A to 15C are schematic views that illustrate that more partition information can be reduced. For example, in the example of the block shape shown in figure 15A, the maximum hierarchical depth used is 2 and the partitioning mode information at Depth = 1 (blocks of 32 pixels horizontally × 32 pixels vertically) is (0, 0 , 0, 1) as described above. In this document, since the maximum hierarchical depth used is 2, at least one partitioned block is considered to be included in blocks at Depth = 1 (blocks of 32 pixels horizontally × 32 pixels vertically).
[0173] Therefore, once the partitioning mode information (0, 0, 0) has been described, the block partitioning information at Depth = 1 is encoded and decoded without the partitioning mode information, which is 1, being described. Therefore, it can be found that the latest partitioning mode information is 1. In other words, when the current hierarchical depth is less than the maximum hierarchical depth used and only the last block should be partitioned in the coding order (processing order partitioning unit), the partition information description unit 112 generates partition information 131 that does not include the partitioning mode information in the last block.
[0174] As described above, when the partition information description unit 112 can define for each block, using the maximum hierarchical depth used, whether the block should be further partitioned, the partition information description unit 112 removes information from the block partitioning from partition information 130. Then, variable length encoding unit 109 encodes partition information 131 from which the above information has been removed. Processing can reduce a greater amount of encoding.
[0175] Thus, in the example of the block shape shown in figure 15B, the maximum hierarchical depth used is 3 and the minimum hierarchical depth used is 1 and the partitioning mode information in Depth = 1 (blocks of 32 pixels horizontally × 32 pixels vertically) and Depth = 2 (blocks of 16 pixels horizontally × 16 pixels vertically) are both (0, 0, 0, 1). As described above, the partition information can be decoded even if the partition information is (0, 0, 0). Therefore, partition information that is 1 may not be encrypted. This avoids the need to encode two pieces of the partitioning mode information and can additionally improve the encoding efficiency.
[0176] Thus, in the example of the block shape shown in figure 15C, the maximum hierarchical depth used is 3 and the minimum hierarchical depth used is 1. Since it was found that the minimum hierarchical depth used is 1, it is considered that at least one block at Depth = 1 (blocks of 32 pixels horizontally × 32 pixels vertically) must not be partitioned. Therefore, it is found that the last block in the partitioning mode information (1, 1, 1, 0) in the blocks at Depth = 1 (blocks of 32 pixels horizontally × 32 pixels vertically) is 0. Therefore, as in figure 15A and figure 15B, the information may not be encoded. In other words, when the current hierarchical depth is a minimum used hierarchical depth and only the last block in the coding order (partitioning processing order) should not be partitioned, the partition information description unit 112 generates the partition information 131 that do not include the partitioning mode information in the last block.
[0177] As described above, if the partition information description unit 112 can define for each block, using the minimum hierarchical depth used, if the block must be further partitioned, the partition information description unit 112 removes the indicative information from the block partitioning model of partition information 130. Then, the variable length encoding unit 109 encodes the partition information 131 from which the above information was removed by variable length. This can improve the coding efficiency. Mode 6
[0178] The processing described in each of the modalities can be implemented in a simple way in an independent computer system by recording, in a recording medium, a program to implement the settings of the motion picture encoding method (image encoding method) and the method of decoding figuration in motion (image decoding method) described in each of the modalities. The recording medium can be any recording medium as long as the program can be recorded, such as a magnetic disk, an optical disk, a magnetic optical disk, an IC card and a semi-conductive memory.
[0179] Hereinafter, the applications for the motion picture encoding method (image encoding method) and the motion picture decoding method (image decoding method) described in each of the modalities and systems that use the same will be described. The system has a feature of having an image encoding and decoding apparatus that includes an image encoding apparatus using the image encoding method and an image decoding apparatus using the image decoding method. Other settings in the system can be modified as appropriate depending on the case.
[0180] Figure 16 illustrates a general configuration of an ex100 content delivery system for deploying content delivery services. The area for providing communication services is divided into cells of the desired size and base stations ex106, ex107, ex108, ex109, and ex110 which are stationary wireless stations are placed in each of the cells.
[0181] The ex100 content delivery system is connected to devices such as an ex111 computer, an ex112 personal digital assistant (PDA), an ex113 camera, an ex114 cell phone, and an ex115 gaming machine over the internet ex101, an Internet service provider. Internet ex102, a telephone network ex104, as well as the base stations ex106 to ex110, respectively.
[0182] However, the configuration of the content delivery system ex100 is not limited to the configuration shown in figure 16 and the combination to which any of the elements are connected is acceptable. Other than that, each device can be connected directly to the telephone network ex104 instead of via the base stations ex106 to ex110 which are the stationary wireless stations. In addition, the devices can be interconnected with each other via short distance and other wireless communication.
[0183] The ex113 camera, like a digital video camera, is capable of capturing video. An ex116 camera such as a digital camera is capable of capturing both still images and video. In addition, the ex114 cell phone can be one that meets any of the standards such as Global System for Mobile Communications (GSM) (Trademark), Code Division Multiple Access (CDMA), Broadband Code Division Multiple Access (W-CDMA), Long Term Evolution (LTE) and High Speed Packet Access (HSPA). Alternatively, the cell phone ex114 can be a Personal Portable Telephone System (PHS).
[0184] In the ex100 content delivery system, an ex103 streaming server is connected to the ex113 camera and others via the ex104 phone network and the ex109 base station which enables distribution of images from a live show and others. In such a distribution, content (for example, video from a live music show) captured by the user using the camera ex113 is encoded as described above in each of the modalities (that is, the camera functions as the device for encoding video). image according to the present invention) and for encoded content is transmitted to the streaming server ex103. On the other hand, the streaming server ex103 performs flow distribution of the content data transmitted to clients on request. Customers include the computer ex111, the PDA ex112, the camera ex113, the cell phone ex114, and the game machine ex115 which are capable of decoding the encrypted data mentioned above. Each of the devices that received the distributed data decodes and reproduces the encoded data (i.e., it functions as the image decoding apparatus according to the present invention).
[0185] The captured data can be encoded by the camera ex113 or by the streaming server ex103 which transmits the data or the encoding processes can be shared between the camera ex113 and the streaming server ex103. Similarly, distributed data can be decoded by clients or by the streaming server ex103, or the decoding processes can be shared between clients and the streaming server ex103. In addition, data from still images and video captured not only by the camera ex113, but also by the camera ex116 can be transmitted to the streaming server ex103 via the computer ex111. The coding processes can be performed by the camera ex116, by the computer ex111 or by the streaming server ex103 or shared among them.
[0186] In addition, the encoding and decoding processes can be performed by an LSI ex500 usually included in each of the ex111 computer and devices. The LSI ex500 can be configured with a single chip, a plurality of chips. Software for encoding and decoding video can be integrated into some type of recording medium (such as a CD-ROM, a floppy disk and a hard disk) that is readable by the computer ex111 and others and the encoding and decoding processes can be carried out for using the software. In addition, when the cell phone ex114 is equipped with a camera, the video data obtained by the camera can be transmitted. The video data is data encoded by the LSI ex500 included in the cell phone ex114.
[0187] In addition, the ex103 streaming server can consist of servers and computers and can decentralize data and process decentralized data, save or distribute data.
[0188] As described above, customers can receive and reproduce the data encoded in the ex100 content delivery system. In other words, customers can receive and decode the information transmitted by the user and reproduce the decoded data in real time on the ex100 content delivery system, so that the user who has no particular rights and equipment can deploy personal broadcasting.
[0189] With the exception of the ex100 content delivery system example, at least one of the motion picture encoding device (image encoding device) and the motion picture decoding device (image decoding device) described in each one of the modalities can be implanted in an ex200 digital broadcasting system illustrated in figure 17. More specifically, an ex201 broadcasting station communicates or transmits, through radio waves to an ex202 broadcasting satellite, multiplexed data obtained by multi-plexing data audio and other in video data. The video data is data encoded by the motion picture encoding method described in each of the modalities (i.e., data encoded by the image encoding apparatus according to the present invention). After receiving the multiplexed data, the broadcast satellite ex202 transmits radio waves for broadcast. Then, a home-use antenna ex204 with a satellite broadcast reception function receives radio waves. Next, a device such as a television (receiver) ex300 and a converter (STB) ex217 decodes the received multiplexed data and reproduces the decoded data (that is, it functions as the image decoding apparatus according to the present invention. ).
[0190] In addition, an ex218 recorder / reader (i) reads and decodes the multiplexed data recorded on an ex215 recording medium, such as a DVD and BD, or (i) encodes video signals on the ex215 recording medium and, in some cases, write data obtained by multiplexing an audio signal in the encoded data. The recorder / reader ex218 may include the motion picture decoding device or the motion picture encoding device as shown in each of the modalities. In this case, the reproduced video signals are displayed on the monitor ex219, and can be reproduced by another device or system that uses the recording medium ex215 in which the multiplexed data is recorded. It is also possible to deploy the motion picture decoding device in the converter ex217 connected to the cable ex203 for a cable television or to the antenna ex204 for satellite and / or terrestrial broadcast in order to display the video signals on the monitor ex219 of the television ex300. The motion picture decoding device can be installed not on the converter, but on the ex300 television.
[0191] Figure 18 illustrates the television (receiver) ex300 that uses the motion picture encoding method and the motion picture decoding method described in each of the modalities. The ex300 television includes: an ex301 tuner that obtains or provides multiplexed data obtained by multiplexing audio data into video data via the ex204 antenna or the ex203 cable, etc. that receives a broadcast; a modulation / demodulation unit ex302 that demodulates the received multiplexed data or modulates data into multiplexed data to be supplied out; and a multiplexing / demultiplexing unit ex303 that demultiplexes the multiplexed data modulated into video data and audio data or multiplexes video data and audio data encoded by an ex306 signal processing unit into data.
[0192] The ex300 television additionally includes: the ex306 signal processing unit which includes an ex304 audio signal processing unit and an ex305 video signal processing unit which decodes audio data and video data and encodes audio data and data video, respectively (which functions as the image encoding apparatus and as the image decoding apparatus according to the present invention); and an ex309 output unit that includes an ex307 speaker that provides the decoded audio signal and an ex308 display unit that displays the decoded video signal, such as a monitor. In addition, the ex300 television includes an ex317 interface unit that includes an ex312 operation input unit that receives input from a user operation. In addition, the ex300 television includes an ex310 control unit that generally controls each constituent element of the ex300 television and an ex311 power circuit unit that supplies power to each of the elements. In addition to the operation input unit ex312, the interface unit ex317 can include: a bridge ex313 that is connected to an external device, such as the recorder / reader ex218; the connection unit ex314 to enable attachment of the recording medium ex216, such as an SD card; an ex315 driver to be connected to an external recording medium such as a hard drive; and an ex316 modulator to be connected to the telephone network. Here, the ex216 recording medium can electrically record information by using a volatile / non-volatile semiconductor memory element for storage. The constituent elements of the ex300 television are connected to each other via a synchronous bus.
[0193] First, the configuration in which the ex300 television decodes multiplexed data obtained from outside via the ex204 and other antenna and reproduces the decoded data will be described. On television ex300, by user operation via a remote control ex220 and others, the multiplexing / demultiplexing unit ex303 demultiplexes the demodulated multiplexed data by the modulation / demodulation unit ex302 under control of the ex310 control unit which includes a CPU. In addition, the audio signal processing unit ex304 decodes the demultiplexed audio data and the video signal processing unit ex305 decodes the demultiplexed video data using the deco-method described in each of the modes on television ex300. The output unit ex309 provides the decoded video signal and the audio signal out, respectively. When the output unit ex309 provides the video signal and the audio signal, the signals can be temporarily stored in temporary storage ex318 and ex319 and others so that the signals are reproduced in synchronization with each other. In addition, the ex300 television can read multiplexed data not through broadcast and other media, but from the recording media ex215 and ex216, such as a magnetic disk, an optical disk, and an SD card. Next, the configuration in which the ex300 television encodes an audio signal and a video signal and transmits the data outwards or writes the data to a recording medium will be described. On television ex300, under user operation via remote control ex220 and others, the audio signal processing unit ex304 encodes an audio signal and the video signal processing unit ex305 encodes a video signal under control of the unit control system ex310 by using the coding method described in each of the modalities. The multiplexing / demultiplexing unit ex303 multiplexes the encoded video signal and audio signal, and provides the resulting signal out. When the multiplexing / demultiplexing unit ex303 multiplexes the video signal and the audio signal, the signals can be temporarily stored in the temporary stores ex320 and ex321 and others so that the signals are reproduced in sync with each other. Here, temporary storage ex318, ex319, ex320, and ex321 can be a plurality as illustrated or at least one temporary storage can be shared on television ex300. In addition, data can be stored in temporary storage so that overflow and underflow in the system can be avoided between the modulation / demodulation unit ex302 and the multiplexing / demultiplexing unit ex303, for example.
[0194] In addition, the ex300 television can include a setting to receive AV input from a microphone or a camera other than the setting to obtain audio and video data from a broadcast or recording medium and can encode the data obtained. Although the ex300 television can encode, multiplex and provide data out in the description, it may be able to only receive, decode and provide out data, but not encode, multiplex and provide external data.
[0195] In addition, when the ex218 recorder / reader reads or writes multiplexed data from or on a recording medium, one of the ex300 television and the ex218 recorder / reader can decode or decode the multiplexed data and the ex300 television and the recorder / ex218 reader can share the encoding or decoding.
[0196] As an example, figure 19 illustrates the configuration of an ex400 information recording / playback unit when data is read from or written to or on an optical disc. The information recording / reproduction unit ex400 includes constituent elements ex401, ex402, ex403, ex404, ex405, ex406, and ex407 to be described hereinafter. The ex401 optical head radiates a laser dot on a recording surface of the ex215 recording medium which is an optical disc for writing information and detects reflected light from the recording surface of the ex215 recording medium to read the information. The ex402 modulation recording unit electrically drives a semiconductor laser included in the ex401 optical head and modulates the laser light according to recorded data. The reproduction demodulation unit ex403 amplifies a reproduction signal obtained by the electrical detection of light reflected from the recording surface by using a photodetector included in the optical head ex401 and demodulates the reproduction signal by separating a component signal recorded in the medium. -v2 ex215 to reproduce the necessary information. The temporary storage ex404 temporarily retains the information to be recorded on the recording medium ex215 and the information reproduced from the recording medium ex215. The disc motor ex405 rotates the recording medium ex215. The ex406 servo control unit moves the ex401 optical head to a predetermined information track while controlling the rotating unit of the ex405 disk motor to follow the laser point. The system control unit ex407 generally controls the information recording / playback unit ex400. The read and write processes can be implemented by the ex407 system control unit using various information stored in the ex404 temporary storage and generate and add new information as needed and by the ex402 modulation recording unit, the ex403 reproduction demodulation unit and the ex406 servo control unit that records and reproduces information through the ex401 optical head while being operated in a coordinated manner. The ex407 system control unit includes, for example, a microprocessor and performs processing by making a computer run a program for reading and writing.
[0197] Although the ex401 optical head radiates a laser point in the description, it can use high density recording by using near-field light.
[0198] Figure 20 illustrates the recording medium ex215 which is the optical disc. On the recording surface of the recording medium ex215, guide slots are formed in a spiral shape, and an information track ex230 records, in advance, address information indicating an absolute position on the disc according to a change in the shape of the guide slots. The address information includes information for determining positions of recording blocks ex231 which are a unit for recording data. Reproducing the information track ex230 and reading the address information on a device that records and reproduces data can lead to the determination of the positions of the recording blocks. In addition, the recording medium ex215 includes a data recording area ex233, an inner circumference area ex232, and an outer circumference area ex234. The data recording area ex233 is an area for use to record user data. The inner circumference area ex232 and the outer circumference area ex234 that are inside and outside the data recording area ex233, respectively, are for specific use, except for recording user data. The information recording / playback unit 400 reads and writes encoded audio, encoded video data, or multiplexed data obtained by multiplexing the encoded audio and video data, from and in the data recording area ex233 of the media. recording ex215.
[0199] Although an optical disc having a layer, such as a DVD and a BD, is described as an example in the description, the optical disc is not limited to that, and can be an optical disc having a multilayer structure and capable of being recorded on a different part of the surface. In addition, the optical disc can have the structure for multidimensional recording / reproduction such as recording information using color light with different wavelengths in the same part of the optical disc and for recording information having different layers from different angles.
[0200] In addition, an ex210 car having an ex205 antenna can receive data from the ex202 satellite and others, and play video on a display device such as an ex211 car navigation system mounted on the ex210 car, on the ex200 digital broadcast system. Here, a configuration of the ex211 car navigation system will be a configuration, for example, including a GPS receiving unit from the configuration illustrated in figure 18. The same will be true for the configuration of the computer ex111, the cell phone ex114, and others.
[0201] Figure 21A illustrates the cell phone ex114 which uses the motion picture encoding method and the motion picture decoding method described in modalities. The cell phone ex114 includes: an ex350 antenna for transmitting and receiving radio waves through the base station ex110; the ex365 camera unit capable of capturing still and moving images; and the ex358 display unit such as a liquid crystal display for displaying data such as decoded video captured by the ex365 camera unit or received by the ex350 antenna. The ex114 cell phone additionally includes: a main body unit including an ex366 operating key unit; an ex357 audio output unit such as a speaker for audio output; an ex356 audio input unit such as a microphone for audio input; an ex367 memory unit for storing captured video or still pictures, recorded audio, encoded or decoded data from received video, still pictures, emails, or others; and a connection unit ex364 which is an interface unit for a recording medium that stores data in the same way as the memory unit ex367.
[0202] In the following, an example of a cell phone configuration ex114 will be described with reference to figure 21B. On the ex114 cell phone, an ex360 main control unit designed to control each unit of the main body including the ex358 display unit, as well as the ex366 operating switch unit, is mutually connected, via an ex370 synchronous bus, to a power supply circuit unit ex361, an operation input control unit ex362, a video signal processing unit ex355, a camera interface unit ex363, a liquid crystal display (LCD) control unit ex359 , a modulation / demodulation unit ex352, a multiplexing / demultiplexing unit ex353, an audio signal processing unit ex354, the connection unit ex364, and the memory unit ex367.
[0203] When an end-of-call switch or a power switch is switched ON by user operation, the ex361 power supply circuit unit supplies the respective units with energy from a battery to activate the ex114 cell phone.
[0204] On the ex114 cell phone, the ex354 audio signal processing unit converts the audio signals collected by the ex356 audio input unit into voice talk mode into digital audio signals under the control of the ex360 main control unit including a CPU , ROM, and RAM. Then, the ex352 modulation / demodulation unit performs dispersion spectrum processing on digital audio signals, and the ex351 transmit and receive unit performs digital-analog conversion and frequency conversion on the data, to transmit the resulting data through the ex350 antenna. . In addition, on the ex114 cell phone, the ex351 transmission and reception unit amplifies the data received by the ex350 antenna in voice conversation mode and performs frequency conversion and analog-to-digital conversion on the data. Then, the ex352 modulation / demodulation unit performs reverse spread spectrum processing on the data, and the ex354 audio signal processing unit converts them into analog audio signals, to output them via the ex357 audio output unit.
[0205] In addition, when an e-mail in data communication mode is transmitted, text data from the e-mail entered by the operation of the operating key unit ex366 and others from the main body are sent to the main control unit ex360 via the operation input control unit ex362. The main control unit ex360 causes the modulation / demodulation unit ex352 to perform dispersion spectrum processing on the text data, and the transmission and reception unit ex351 performs digital-to-analog conversion and frequency conversion on the resulting data for transmit the data to the base station ex110 through the antenna ex350. When an e-mail is received, processing that is approximately the reverse of the processing to transmit an e-mail is performed on the received data, and the resulting data is supplied to the display unit ex358.
[0206] When video, still images, or video and audio in data communication mode is or is transmitted, the ex355 video signal processing unit compresses and encodes the video signal provided from the ex365 camera unit using the video encoding method motion picture shown in each of the modalities (i.e., functions such as the image encoding apparatus according to the present invention), and transmits the encoded video data to the multi-plex / demultiplex unit ex353. In contrast, while the ex365 camera unit captures video, still images, and others, the ex354 audio signal processing unit encodes audio signals collected by the ex356 audio input unit, and transmits the encoded audio data to the unit multiplexing / demultiplexing ex353.
[0207] The multiplexing / demultiplexing unit ex353 multiplexes the encoded video data provided from the ex355 video signal processing unit and the encoded audio data provided from the ex354 audio signal processing unit, using a predetermined method. Then, the modulation / demodulation unit (modulation / demodulation circuit unit) ex352 performs dispersion spectrum processing on the multiplexed data, and the ex351 transmission and reception unit performs digital-analog conversion and frequency conversion on the data to transmit the data. resulting data through the ex350 antenna.
[0208] When receiving data from a video file that is linked to a web page and others in data communication mode or when receiving an email with video and / or audio attached, to decode the multiplexed data received through the antenna ex350, the ex353 multiplexing / demultiplexing unit demultiplexes the multiplexed data into a bit stream of video data and a bit stream of audio data, and provides the video signal processing unit ex355 with encoded video data and the ex354 audio signal processing unit with encoded audio data, using an ex370 synchronous bus. The video signal processing unit ex355 decodes the video signal using a motion picture decoding method corresponding to the motion picture encoding method shown in each of the modalities (ie functions such as the image decoding apparatus according to the present invention), and then the ex358 display unit displays, for example, the video and still images included in the video file linked to the web page via the ex359 LCD control unit. In addition, the ex354 audio signal processing unit decodes the audio signal, and the ex357 audio output unit provides the audio.
[0209] In addition, similarly to the ex300 television, a terminal such as the ex114 cell phone possibly has 3 types of deployment configurations including not only (i) a transmit and receive terminal including both a coding device and a decoding device, but also (ii) a transmitting terminal including only a coding device and (iii) receiving terminal including only a decoding device. Although the digital broadcasting system ex200 receives and transmits the multiplexed data obtained by multiplexing audio data to video data in the description, the multiplexed data can be data obtained by multiplexing not audio data but video-related character data for video data, and it may not be multiplexed data but video data itself.
[0210] As such, the motion picture encoding method and the motion picture decoding method in each of the modalities cannot be used in any of the described devices and systems. Therefore, the advantages described in each of the modalities can be obtained.
[0211] Furthermore, the present invention is not limited to the modalities, and various modifications and revisions are possible without departing from the scope of the present invention. Mode 7
[0212] Video data can be generated by switching, as necessary, between (i) the motion picture encoding method or the motion picture encoding apparatus shown in each of the modalities and (ii) a picture encoding method in motion or a motion picture encoding device conforming to a different standard, such as MPEG-2, MPEG-4 AVC, and VC-1.
[0213] Here, when a plurality of video data that conforms to the different standards is generated and is then decoded, the decoding methods need to be selected to conform to the different standards. However, since for each standard each of the pluralities of video data to be decoded accordingly cannot be detected, there is a problem that an appropriate decoding method cannot be selected.
[0214] To solve the problem, multiplexed data obtained by multiplexing audio and other data to video data has the structure including identifying information indicating to which standard the video data is compliant. The specific structure of the multiplexed data including the video data generated in the motion picture encoding method and by the motion picture encoding apparatus shown in each of the modalities will be hereinafter described. Multiplexed data is a digital stream in the MPEG-2 Transport Stream format.
[0215] Figure 22 illustrates a structure of the multiplexed data. As illustrated in figure 22, multiplexed data can be obtained by multiplexing at least one of a video stream, an audio stream, a presentation graphics stream (PG), and an interactive graphics stream. The video stream represents primary video and secondary video of a movie, the audio stream (IG) represents the primary audio part and the secondary audio part to be mixed with the primary audio part, and the presentation graphics stream represents subtitles of the film. Here, the primary video is a normal video to be displayed on a screen, and the secondary video is a video to be displayed in a smaller window on the primary video. In addition, the interactive graphics flow represents an interactive screen to be generated by arranging the GUI components on a screen. The video stream is encoded in the motion picture encoding method or by the motion picture encoding device shown in each of the modalities, or in a motion picture encoding method or by a motion picture encoding device in accordance with a conventional standard, such as MPEG-2, MPEG-4 AVC and VC-1. The audio stream is encoded according to a standard, such as Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD and linear PCM.
[0216] Each flow included in the multiplexed data is identified by PID. For example, 0x1011 is allocated for the video stream to be used for video from a movie, 0x1100 to 0x111F is allocated for audio streams, 0x1200 to 0x121F is allocated for presentation graphics streams, 0x1400 to 0x141F are allocated for the interactive graphics streams, 0x1B00 to 0x1B1F are allocated for the video streams to be used for secondary video of the movie, and 0x1A00 to 0x1A1F are allocated for the audio streams to be used for the secondary audio to be mixed with the primary audio .
[0217] Figure 23 schematically illustrates how data is multiplexed. First, a video stream ex235 composed of video frames and an audio stream ex238 composed of audio frames are transformed into a stream of PES Packs ex236 and a stream of PES Packs ex239, and additionally into TS Packs ex237 and Packets TS ex240, respectively. Similarly, data from a stream of presentation graphics ex241 and data from a stream of interactive graphics ex244 are transformed into a stream of PES Packs ex242 and a stream of PES Packs ex245, and additionally into TS Packs ex243 and TS Packs ex246, respectively. These TS Packets are multiplexed in a stream to obtain multiplexed data ex247.
[0218] Figure 24 illustrates how a video stream is stored in a PES Packets stream in more detail. The first bar in figure 24 shows a video frame stream in a video stream. The second bar shows the flow of PES Packets. As indicated by arrows denoted as yy1, yy2, yy3, and yy4 in figure 24, the video stream is divided into figures such as figures I, figures B and figures P each of which are a video display unit, and the figures are stored in a payload of each of the PES Packages. Each of the PES Packets has the PES header, and the PES header stores a Presentation Time Stamp (PTS) indicating a picture display time, and the Decode Time Stamp (DTS) indicating a decoding time of the picture. figuration.
[0219] Figure 25 illustrates a TS Packet format to be finally written in the multiplexed data. Each of the TS Packets is a fixed length packet of 188 bytes including a 4-byte TS header containing information, such as a PID to identify a stream and a 184-byte TS payload for data storage. PES packages are divided, and stored in TS payloads, respectively. When a BD ROM is used, each TS Packet is given a 4-byte TP Extra Header, thus resulting in 192-byte source packets. The source packets are written to the multiplexed data. TP_Extra_Header stores information such as an Arrival_Time_Stamp (ATS). The ATS shows an initial transfer time for which each of the TS Packets must be transferred to a PID filter. The source packets are arranged in the multiplexed data as shown at the bottom of figure 25. The numbers incrementing from the header of the multiplexed data are called source packet numbers (SPNs).
[0220] Each of the TS Packages included in the multiplexed data includes not only audio, video, subtitle and other streams, but also a Program Association Table (PAT), a Program Map Table (PMT), and a Clock Reference. Program (PCR). PAT shows what a PID in a PMT used in multiplexed data indicates, and the PAT PID itself is recorded as zero. The PMT stores PIDs of the video, audio, subtitle and other streams included in the multiplexed data, and attribute information from the streams corresponding to the PIDs. PMT also has several descriptors related to multiplexed data. The descriptors have information such as copy control information showing whether copying the multiplexed data is allowed or not. The PCR stores STC time information corresponding to an ATS showing when the PCR packet is transferred to a decoder, to achieve synchronization between an Arrival Time Clock (ATC), which is an ATS time axis, and an ATS Time Clock. System (STC) which is a time axis of PTSs and DTSs.
[0221] Figure 26 illustrates the PMT data structure in detail. The PMT header is placed at the top of the PMT. The PMT header describes the length of data included in the PMT and others. The plurality of related descriptors for the multiplexed data is arranged after the PMT header. Information such as copy control information is described in the descriptors. After the descriptors, a plurality of pieces of flow information related to the flows included in the multiplexed data is arranged. Each piece of stream information includes stream descriptors, each describing information, such as a stream type to identify a stream's compression codec, a PID stream, and stream assignment information (such as a frame rate or proportion ratio). The flow descriptors are equal in number to the number of flows in the multiplexed data.
[0222] When multiplexed data is recorded on a recording medium and others, it is recorded along with multiplexed data information files.
[0223] Each of the multiplexed data information files is management information for the multiplexed data as shown in figure 27. The multiplexed data information files are matched one by one with the multiplexed data, and each of the files includes multiplexed data information. , flow assignment information, and an input map.
[0224] As illustrated in figure 27, the multiplexed data information includes a system rate, an initial reproduction time, and an end reproduction time. The system rate indicates the maximum transfer rate at which a system target decoder to be described later transfers the multiplexed data to a PID filter. The ATS intervals included in the multiplexed data are adjusted to no more than one system rate. The initial playback time indicates a PTS in a video frame in the header of the multiplexed data. A frame interval is added to a PTS in a video frame at the end of the multiplexed data, and the PTS is fixed at the final playback time.
[0225] As shown in figure 28, a piece of attribute information is recorded in the flow assignment information, for each PID of each flow included in the multiplexed data. Each piece of attribute information has different information depending on whether the corresponding stream is a video stream, an audio stream, a presentation graphics stream, or an interactive graphics stream. Each piece of video stream attribute information carries information including what type of compression codec is used to compress the video stream, and the resolution, frame rate aspect ratio of the figuration data pieces that are included in the stream of video. Each piece of audio information for stream assignment information including what type of compression codec is used to compress the audio stream, how many channels are included in the audio stream, what language the audio stream supports, and how high the frequency sampling is. The video stream attribute information and the audio stream assignment information are used to initialize a decoder before the player plays the information.
[0226] In the present modality, the multiplexed data to be used are of a type of flow included in the PMT. In addition, when multiplexed data is recorded on a recording medium, the video stream attribute information included in the multiplexed data information is used. More specifically, the motion picture encoding method or the motion picture encoding apparatus described in each of the modalities includes the step or unit for allocating unique information indicating video data generated by the motion picture encoding method or the motion picture encoding apparatus in each of the modalities, for the type of stream included in the PMT or the video stream attribute information. With one configuration, the video data generated by the motion picture encoding method or the motion picture encoding apparatus described in each of the modalities can be distinguished from video data that conforms to another standard.
[0227] In addition, figure 29 illustrates steps in the method of decoding figuration in motion according to the present modality. In Step exS100, the stream type included in the PMT or the video stream attribute information included in the multiplexed data information is obtained from the multiplexed data. Then, in Step exS101, it is determined whether or not the flow type or the video flow attribute information indicates that the multiplexed data is generated by the motion picture encoding method or the motion picture encoding apparatus in motion. each of the modalities. When it is determined that the type of stream or the video stream attribute information indicates that the multiplexed data is generated by the motion picture encoding method or the motion picture encoding apparatus in each of the modalities, in Step exS102 , decoding is carried out by the method of decoding figuration in motion in each of the modalities. In addition, when the stream type or video stream attribute information indicates conformation to conventional standards, such as MPEG-2, MPEG-4 AVC, and VC-1, in Step exS103, decoding is performed by a method of decoding of moving figures in accordance with conventional standards.
[0228] As such, allocating a unique new value for the stream type or video stream attribute information allows determination of whether or not the motion picture decoding method or the motion picture decoding apparatus that is described in each one. of the modalities can perform decoding. Even when multiplexed data that conforms to a different standard is entered, an appropriate decoding method or device can be selected. Therefore, it becomes possible to decode information without any error. In addition, the motion picture or apparatus encoding method, or the motion picture or apparatus decoding method in the present embodiment can be used in the devices and systems described above. Mode 8
[0229] Each of the motion picture encoding methods, the motion picture encoding apparatus, the motion picture decoding method, and the motion picture decoding apparatus in each of the modalities is typically achieved in the form of an integrated circuit or a Large Scale Integrated Circuit (LSI). As an example of the LSI, figure 30 illustrates a configuration of the LSI ex500 that is done on a chip. The LSI ex500 includes elements ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508, and ex509 to be described below, and the elements are connected to each other via an ex510 bus. The power supply circuit unit ex505 is activated by supplying each of the elements with power when the power supply circuit unit ex505 is turned on.
[0230] For example, when encoding is performed, the LSI ex500 receives an AV signal from an ex117 microphone, an ex113 camera, and others via an IO ex509 AV under control of the ex501 control unit including an ex502 CPU, a memory controller ex503, an ex504 flow controller, and an ex512 orientation frequency control unit. A received AV signal is temporarily stored in an external memory ex511, such as an SDRAM. Under control of the ex501 control units, the stored data is segmented into pieces of data according to the amount of processing speed to be transmitted to the ex507 signal processing unit. The signal processing unit ex507 then encodes an audio signal and / or a video signal. Here, the encoding of the video signal is the encoding described in each of the modalities. In addition, the ex507 signal processing unit sometimes multiplexes the encoded audio data and the encoded video data, and an IO stream ex506 provides the multiplexed data outside. The supplied multiplexed data is transmitted to the base station ex107, or written to the recording medium ex215. When data sets are multiplexed, the data must be temporarily stored in temporary storage ex508 so that the data sets are synchronized with each other.
[0231] Although the ex511 memory is an element outside the LSI ex500, it can be included in the LSI ex500. Ex508 temporary storage is not limited to temporary storage, but can be composed of temporary storage. In addition, the LSI ex500 can be made on a chip or the plurality of chips.
[0232] In addition, although the ex501 control unit includes the ex502 CPU, the ex503 memory controller, the ex504 flow controller, the ex512 orientation frequency control unit, the configuration of the ex501 control unit is not limited to this. For example, the signal processing unit ex507 may additionally include a CPU. Including another CPU in the signal processing unit ex507 can increase the processing speed. In addition, as another example, the ex502 CPU may serve as or be a part of the ex507 signal processing units, and, for example, may include an audio signal processing unit. In such a case, the control unit ex501 includes the signal processing unit ex507 or the CPU ex502 including a part of the signal processing units ex507.
[0233] The name used here is LSI, but it can also be called IC, LSI system, super LSI, or ultra LSI depending on the degree of integration.
[0234] In addition, paths to achieve integration are not limited to LSI, and a special circuit or general purpose processor and so on can also achieve integration. Field Programmable Ports (FPGA) arrangement that can be programmed after manufacturing LSIs or a reconfigurable processor that allows reconfiguring the connection or configuring an LSI can be used for the same purpose.
[0235] In the future, with advances in semiconductor technology, new technology may replace LSI. Functional blocks can be integrated using such technology. One possibility is that the present invention is applied to biotechnology. Mode 9
[0236] When video data generated in the motion picture encoding method or by the motion picture encoding apparatus described in each of the modalities is decoded, compared to when video data that conforms to a conventional standard such as MPEG -2, MPEG-4 AVC, and VC-1 are decoded, the amount of processing possibly increases. Therefore, the LSI ex500 needs to be set to a higher orientation frequency than the ex502 CPU to be used when video data that conforms to the conventional standard is decoded. However, when the orientation frequency is set higher, there is a problem that energy consumption increases.
[0237] To solve the problem, the motion picture decoding device such as the television ex300 and the LSI ex500 is configured to determine which standard the video data conforms to, and switch between the guidance frequencies according to the determined standard . figure 31 illustrates an ex800 configuration in the present mode. The orientation frequency switching unit ex803 adjusts the orientation frequency to a higher orientation frequency when video data is generated by the motion picture encoding method or the motion picture encoding apparatus described in each of the modalities. The orientation frequency switching unit ex803 then instructs the decoding processing unit ex801 to perform the motion picture decoding method described in each of the modes for decoding the video data. When the video data conforms to the conventional standard, the orientation frequency switching unit ex803 sets an orientation frequency to a orientation frequency lower than that of the video data generated by the motion picture encoding method or the apparatus coding of figuration in motion described in each of the modalities. The orientation frequency switching unit ex803 then instructs the decoding processing unit ex802 in accordance with the conventional standard for decoding video data.
[0238] More specifically, the ex803 orientation frequency switching unit includes the ex502 CPU and the ex512 orientation frequency control unit in figure 30. Here, each of the ex801 decoding processing units that perform the figuration decoding method in movement described in each of the modalities and the decoding processing unit ex802 that conforms to the conventional standard corresponds to the signal processing unit ex507 in figure 30. The ex502 CPU determines the video data accordingly for each standard. The orientation frequency control unit ex512 then determines an orientation frequency based on the signal from the ex502 CPU. In addition, the ex507 signal processing unit decodes the video data based on the signal from the ex502 CPU. For example, the identifying information described in Mode 7 is possibly used to identify the video data. The identifying information is not limited to that described in Modality 7 but can be any information as long as the information indicates the corresponding video data for each standard. For example, when which video data standards to conform to can be determined based on an external signal to determine which video data is used for a television or disc, etc., the determination can be made based on such external signal. In addition, the ex502 CPU selects the orientation frequency based on, for example, a look-up table in which the video data patterns associated with the orientation frequencies as shown in figure 33. The orientation frequency can be selected by lookup table storage in temporary storage ex508 and in an internal memory of an LSI, and with reference to the lookup table by CPU ex502.
[0239] Figure 32 illustrates steps for executing a method in the present embodiment. First, in Step exS200, the signal processing unit ex507 obtains identification information from the multiple-attached data. Then, in Step exS201, the CPU ex502 determines whether or not the video data is generated by the encoding method and the encoding device described in each of the modalities, based on the identification information. When the video data is generated by the motion picture encoding method and the motion picture encoding apparatus described in each of the modalities, in Step exS202, the CPU ex502 transmits a signal to adjust the orientation frequency to the frequency greater guidance for the ex512 guidance frequency control unit. The guidance frequency control unit ex512 then adjusts the guidance frequency to the higher guidance frequency. On the other hand, when the identification information indicates that the video data conforms to conventional standards, such as MPEG-2, MPEG-4 AVC, and VC-1, in Step exS203, the CPU ex502 transmits a signal to adjust the guidance frequency to a lower guidance frequency for the guidance frequency control unit ex512. Then, the orientation frequency control unit ex512 sets an orientation frequency to the orientation frequency less than in the case where the video data is generated by the motion picture encoding method and the motion picture encoding apparatus described in each modality.
[0240] In addition, together with the switching of the guidance frequencies, the energy conservation effect can be improved by changing the voltage to be applied to the LSI ex500 or an apparatus including the LSI ex500. For example, when the orientation frequency is set low, the voltage to be applied to the LSI ex500 or the device including the LSI ex500 is possibly adjusted to a lower voltage than in the case where a orientation frequency is set higher.
[0241] In addition, when the amount of processing for decoding is higher, the orientation frequency can be adjusted higher, and when the amount of processing for decoding is lower, the orientation frequency can be adjusted less as the method for adjusting a frequency. guidance. Therefore, adjustment method is not limited to those described above. For example, when the amount of processing for decoding MPEG-4 AVC video data is greater than the amount of processing for decoding video data generated by the motion picture encoding method and the picture encoding apparatus in motion described in each of the modalities, the orientation frequency is possibly adjusted in reverse order to the adjustments described above.
[0242] In addition, the method for adjusting the guidance frequency is not limited to the method for adjusting the lower guidance frequency. For example, when the identification information indicates that the video data is generated by the motion picture encoding method and the motion picture encoding apparatus described in each of the modalities, the voltage to be applied to the LSI ex500 or the device including the LSI ex500 is possibly set high. When identifying information indicates that video data complies with the conventional standard, such as MPEG-2, MPEG-4 AVC, and VC-1, the voltage to be applied to the LSI ex500 or the device including the LSI ex500 is possibly set low. As another example, when the identification information indicates that the video data is generated by the motion picture encoding method and the motion picture encoding device described in each of the modalities, the CPU ex502 possibly does not have to be suspended. When the identification information indicates that the video data complies with conventional standards, such as MPEG-2, MPEG-4 AVC, and VC-1, the ex502 CPU activation is possibly suspended at a given time because the Ex502 CPU has extra processing capacity. Even when the identification information indicates that the video data is generated by the motion picture encoding method and the motion picture encoding apparatus described in each of the modalities, in the case where the ex502 CPU has extra processing capacity , the ex502 CPU activation is possibly suspended at a given time. In such a case, the suspension time is possibly adjusted less than in the case where when the identification information indicates that the video data complies with conventional standards, such as MPEG-2, MPEG-4 AVC, and VC-1 .
[0243] Consequently, the energy conservation effect can be increased by switching between the orientation frequencies according to the standard for each of the video data accordingly. In addition, when the LSI ex500 or the device including the LSI ex500 is powered using a battery, the battery life can be extended with the energy conservation effect. Mode 10
[0244] There are cases where a plurality of video data that conforms to different standards is provided to devices and systems, such as a television and a cell phone. To enable decoding of the plurality of video data that conforms to different standards, the LSI ex500 signal processing unit ex507 must conform to different standards. However, the problem of increasing the scale of the LSI ex500 circuit and increasing cost growth with the individual use of the ex507 signal processing unit that conforms to the respective standards.
[0245] To solve the problem, what is designed is a configuration in each of the decoding processing units to implement the motion picture decoding method described in each of the modalities and the decoding processing unit that conforms to the conventional standard such as MPEG-2, MPEG-4 AVC, and VC-1 are partially shared. Ex900 in figure 34A shows an example of the configuration. For example, the motion picture decoding method described in each of the modalities and the motion picture decoding method that conforms to MPEG-4 AVC has, in part, the processing details, such as entropy, reverse quantization, unlock filter and compensated motion prediction. The processing details to be shown possibly include use of an ex902 decoding processing unit that conforms to MPEG-4 AVC. In contrast, a dedicated decoding processing unit ex901 is possibly used for other processing unique to the present invention. Since the present invention is characterized by processing partitioning in particular, for example, the dedicated decoding processing unit ex901 is used for partitioning processing. Otherwise, the decoding processing unit is possibly shown for an entropy decoding, reverse quantization, unlocking filter, and motion compensation, or all processing. The decoding processing unit to implement the motion picture decoding method described in each of the modalities can be shared with the processing to be shown, and the dedicated decoding processing unit can be used for single processing for MPEG- 4 Stroke.
[0246] In addition, ex1000 in figure 34B shows another example where processing is partially shared. This example uses a configuration including a dedicated decoding processing unit ex1001 that supports single processing for the present invention, a dedicated decoding processing unit ex1002 that supports single processing to another conventional standard, and the decoding processing unit ex1003 which supports processing to be shared between the motion picture decoding method according to the present invention and the conventional motion picture decoding method. Here, the dedicated decoding processing units ex1001 and ex1002 are not necessarily specialized for processing according to the present invention and processing the conventional standard, respectively, and may be capable of implementing general processing. In addition, the configuration of this modality can be implemented by LSI ex500.
[0247] As such, reducing the scale of an LSI circuit and reducing the cost are possible by sharing a decoding processing unit for processing to be shared between the motion picture decoding method in accordance with the present invention and the method of decoding figuration in motion in accordance with the conventional standard. [Industrial Applicability]
[0248] An image encoding method and an image decoding method according to the present invention allow for efficient description and reconstruction of a block partitioning method that was not supported by conventional variable length encoding method and decoding methods. Because of this, the image encoding method and the image decoding method have the advantage of reducing a large amount of encoding, and therefore can be used in various applications such as storage, transmissions, and communications. For example, the present invention can be used in high resolution information display devices and imaging devices such as TVs, digital video recorders, car navigation systems, mobile phones, digital cameras, and digital video cameras. List of Numerical References
[0249] 100 Image encoding device 101 Unit of difference 102 Processing plant 103 Unit of quantization 104 Inverse quantization unit 105 Reverse transformation unit 106 Adder 107 Forecasting Unit 108 Coding control unit 109 Variable-length coding unit 110 Partitioning unit 111 Partitioning control unit 112 Partition information description unit 120 Input image signal 121 Split image signal 122 Differential signal 123, 125 Transformation coefficient 124 Information on quantized transformation coefficients 126 Decoded residual image signal 127 Image signal decoded 128 Picture signal predicted 129 Division control signal 130, 131 Partition information 130A Partitioning mode information 132 Coding control signal 140 Code sequence 200 Image decoding device 201 Variable-length decoding unit 202 Decoding control unit 203 Reverse quantization unit 204 Reverse transformation unit 205 Forecasting Unit 206 Adder 207 Partition information reconstruction unit 221 Decoded signal 222 Transformation coefficients 223 Decoded residual image signal 224 Predicted image signal 225 Information related to expected image generation 226 Partition information 240 Output image signal 900 Current block 901, 902 Adjacent block 1101, 1104, 1105 Frame processed 1102, 1103 Current picture CTB, Block data CTBs Block data LCTB Larger block data LCTBHdr Larger block header PicHdr Picture header PicStr figuration sign PicData Figure data Seplnfo Partition-related information SeqData Sequence data SeqHdr Sequence header SliceData Slice data SliceHdr Slice header SliceStr Slice Sign TUHdr Transformation block header Transformation block TUs
权利要求:
Claims (5)
[0001]
Image encoding method for partitioning an image into processing units and encoding the partitioned image to generate a code sequence including a header for a processing unit the size of a larger unit, the image encoding method comprising divide the image into processing units the size of the largest unit, hierarchically partition the image into processing units in the order in which the largest unit of processing units begins in a hierarchical format; hierarchically partition the image including: per processing unit of a size of the largest unit, determine a partitioning model (S401-S427) specifying the hierarchical partitioning of the processing unit of a size of the largest unit in processing units; generate partition information (S501-S513) representing the partitioning model; and encode the partition information; characterized by the fact that the processing unit header of a size of the largest unit includes the partition information and the partition information includes maximum hierarchical depth information used indicative of a hierarchical depth of a processing unit deeper than the processing units resulting from the hierarchical partitioning of the processing unit of a size of the largest unit.
[0002]
Image encoding method, according to claim 1, characterized by the fact that the partition information also includes at least one among • minimum hierarchical depth information used indicative of a hierarchical depth of a more superficial processing unit of processing units resulting from the hierarchical partitioning of the processing unit of a size of the largest unit, and • hierarchical partition mode information indicative of whether a processing unit of processing units resulting from hierarchical partitioning of the processing unit of a size of the largest unit is or is not partitioned into processing units.
[0003]
Image encoding method, according to claim 1, characterized by the fact that, when generating the partition information, the partition information, which includes the minimum used hierarchical depth information, is generated when the maximum used hierarchy depth it is a hierarchy depth of a smaller processing unit than the processing units.
[0004]
Image encoding device for partitioning an image into processing units and encoding the partitioned image to generate a code sequence including a processing unit header of a larger unit size, the image encoding device comprising: a partitioning unit (110) configured to divide the image into processing units of a size of the largest unit, a partitioning control unit (111) configured to hierarchically partition the image into processing units in the order in which the largest unit of processing units begins in a hierarchical format; hierarchically partition the image, including per processing unit of a size of the largest unit, determine a partitioning model (S401-S427) specifying the hierarchical partitioning of the processing unit of the size of the largest unit in processing units; a partition information description unit (112) configured to generate partition information representing the partitioning model; and an encoding unit (109) configured to encode the partition information, characterized by the fact that the processing unit header of a size of the largest unit includes the partition information, and partition information includes maximum hierarchical depth information used indicative of a hierarchical depth of a processing unit deeper than the processing units resulting from the hierarchical partitioning of the processing unit of a size of the largest unit.
[0005]
Image encoding device, according to claim 4, characterized by the fact that the partition information also includes at least one among • minimum hierarchical depth information used indicative of a hierarchy depth of a more superficial processing unit from processing units resulting from hierarchical partitioning of the processing unit of a size of the largest unit, and • hierarchical partition mode information indicative of a processing unit of processing units resulting from hierarchical partitioning of the processing unit of a size of the largest unit being partitioned into processing units.
类似技术:
公开号 | 公开日 | 专利标题
BR112013004425B1|2021-01-26|image encoding method, image decoding method, image encoding device and image decoding device
JP6167409B2|2017-07-26|Image decoding method and image decoding apparatus
KR101900986B1|2018-09-20|Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
JP2019022226A|2019-02-07|Moving image coding method, moving image decoding method, moving image coding device, and moving image decoding device
ES2863625T3|2021-10-11|Luminance-chrominance Coded Block Flags | signaling in video encoding
BR112013023478B1|2021-01-19|moving image encoding method, moving image encoding apparatus, moving image decoding method, moving image decoding apparatus and moving image decoding and decoding apparatus
ES2698560T3|2019-02-05|Method of video encoding and video encoder
EP3487178A1|2019-05-22|Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
BR112012021600B1|2021-02-09|unlock filtering method to filter a plurality of blocks included in an image, method and coding apparatus for encoding an image
ES2865101T3|2021-10-15|Image encoding procedure, image decoding procedure, image encoding device, image decoding device and image encoding / decoding device
EP2822277A1|2015-01-07|Image coding method, image decoding method, image coding device, image decoding device, and image coding-decoding device
AU2013311185B2|2017-06-22|Image coding method, image decoding method, image coding apparatus, image decoding apparatus, image coding and decoding apparatus
JP5883431B2|2016-03-15|Image encoding method and image decoding method
WO2012090495A1|2012-07-05|Image encoding method and image decoding method
KR101842852B1|2018-03-27|Image encoding method, image decoding method, image encoding apparatus, and image decoding apparatus
EP2846543A1|2015-03-11|Image encoding method, image decoding method, image encoding device, image decoding device, and image encoding and decoding device
同族专利:
公开号 | 公开日
JP5744060B2|2015-07-01|
ES2691743T3|2018-11-28|
CN103053158B|2016-11-09|
EP2651128A4|2014-08-06|
CN103053158A|2013-04-17|
US10390051B2|2019-08-20|
EP2651128A1|2013-10-16|
EP3389277A1|2018-10-17|
US10123054B2|2018-11-06|
US20130148729A1|2013-06-13|
JP6168433B2|2017-07-26|
US20170006310A1|2017-01-05|
CN107105300A|2017-08-29|
JP2016187219A|2016-10-27|
JP2015164347A|2015-09-10|
RU2013108103A|2015-02-10|
ES2834902T3|2021-06-21|
KR20130139226A|2013-12-20|
CA2808376C|2018-11-13|
RU2593382C2|2016-08-10|
US20190327495A1|2019-10-24|
US20180124434A1|2018-05-03|
EP3389277B1|2020-09-23|
US9894389B2|2018-02-13|
MX2013002086A|2013-04-03|
CA2808376A1|2012-06-14|
JPWO2012077332A1|2014-05-19|
US10659820B2|2020-05-19|
JP5987147B2|2016-09-07|
WO2012077332A1|2012-06-14|
US20190037246A1|2019-01-31|
BR112013004425A2|2016-05-31|
PL2651128T3|2019-01-31|
PL3389277T3|2021-04-06|
CN107105300B|2020-04-28|
US9838723B2|2017-12-05|
KR101941298B1|2019-01-22|
EP2651128B1|2018-07-25|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题

US6084908A|1995-10-25|2000-07-04|Sarnoff Corporation|Apparatus and method for quadtree based variable block size motion estimation|
JP2000134622A|1998-10-23|2000-05-12|Matsushita Electric Ind Co Ltd|Data processor|
DE19860531C1|1998-12-30|2000-08-10|Univ Muenchen Tech|Method for the transmission of coded digital signals|
CN1170437C|1999-06-08|2004-10-06|松下电器产业株式会社|Picture signal shuffling, encoding, decoding device and program record medium thereof|
KR100371513B1|1999-12-06|2003-02-07|주식회사 팬택앤큐리텔|Method and apparatus of summerizing and browsing video sequences using fidelity values of key frame stored in its edge of key frame hierarchy|
US6795584B2|2002-10-03|2004-09-21|Nokia Corporation|Context-based adaptive variable length coding for adaptive block transforms|
DE602004011234T2|2004-11-19|2009-01-02|Telefonaktiebolaget Lm Ericsson |Method and device for generating three-dimensional images|
CN1285215C|2004-12-31|2006-11-15|大唐微电子技术有限公司|Method of frame rate adjusting for video communication system|
MX2008001307A|2005-07-29|2008-03-19|Lg Electronics Inc|Method for signaling of splitting information.|
KR101365570B1|2007-01-18|2014-02-21|삼성전자주식회사|Method and apparatus for encoding and decoding based on intra prediction|
JP4321628B2|2007-05-31|2009-08-26|ソニー株式会社|Storage device, storage method and storage program, and data processing device, data processing method and data processing program|
CN101605251B|2009-07-24|2011-05-11|清华大学|Method and system for wireless video transmission|
JP6042943B2|2009-08-14|2016-12-14|サムスン エレクトロニクス カンパニー リミテッド|Video decoding method and video decoding device|
KR101456498B1|2009-08-14|2014-10-31|삼성전자주식회사|Method and apparatus for video encoding considering scanning order of coding units with hierarchical structure, and method and apparatus for video decoding considering scanning order of coding units with hierarchical structure|
KR101487686B1|2009-08-14|2015-01-30|삼성전자주식회사|Method and apparatus for video encoding, and method and apparatus for video decoding|
KR101457418B1|2009-10-23|2014-11-04|삼성전자주식회사|Method and apparatus for video encoding and decoding dependent on hierarchical structure of coding unit|
CN105959688B|2009-12-01|2019-01-29|数码士有限公司|Method for decoding high resolution image|
CN104661033B|2009-12-10|2018-02-06|Sk电信有限公司|Use the decoding apparatus of tree structure|
KR20110069740A|2009-12-17|2011-06-23|에스케이 텔레콤주식회사|Video coding method and apparatus|
KR101495724B1|2010-02-02|2015-02-25|삼성전자주식회사|Method and apparatus for video encoding based on scanning order of hierarchical data units, and method and apparatus for video decoding based on the same|
US8982961B2|2010-04-05|2015-03-17|Samsung Electronics Co., Ltd.|Method and apparatus for encoding video by using transformation index, and method and apparatus for decoding video by using transformation index|
JP5832519B2|2010-04-13|2015-12-16|サムスン エレクトロニクス カンパニー リミテッド|Video encoding method and apparatus based on encoding unit based on tree structure, and video decoding method and apparatus|
DK2559245T3|2010-04-13|2015-08-24|Ge Video Compression Llc|Video Coding using multitræsunderinddeling Images|
WO2011127961A1|2010-04-13|2011-10-20|Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V.|Adaptive image filtering method and apparatus|
JP2012019490A|2010-07-09|2012-01-26|Sony Corp|Image processing device and image processing method|
DK2858366T3|2010-07-09|2017-02-13|Samsung Electronics Co Ltd|Method of decoding video using block merge|
PL2955918T3|2010-08-17|2018-12-31|Samsung Electronics Co., Ltd.|Video decoding using transformation unit of variable tree structure|
JP5855570B2|2010-09-30|2016-02-09|パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America|Image decoding method, image encoding method, image decoding device, image encoding device, program, and integrated circuit|
US20120082238A1|2010-10-01|2012-04-05|General Instrument Corporation|Coding and decoding utilizing picture boundary variability in flexible partitioning|
ES2834902T3|2010-12-06|2021-06-21|Sun Patent Trust|Image decoding method, and image decoding device|
US8484253B2|2010-12-31|2013-07-09|Microsoft Corporation|Variational mode seeking|
US20180160118A1|2015-06-18|2018-06-07|Sharp Kabushiki Kaisha|Arithmetic decoding device and arithmetic coding device|JP2012023597A|2010-07-15|2012-02-02|Sony Corp|Image processing device and image processing method|
US9202289B2|2010-09-30|2015-12-01|Electronics And Telecommunications Research Institute|Method for coding and decoding target block partition information using information about neighboring blocks|
ES2834902T3|2010-12-06|2021-06-21|Sun Patent Trust|Image decoding method, and image decoding device|
US9154799B2|2011-04-07|2015-10-06|Google Inc.|Encoding and decoding motion via image segmentation|
US9363513B2|2011-12-14|2016-06-07|Intel Corporation|Methods, systems, and computer program products for assessing a macroblock candidate for conversion to a skipped macroblock|
US9262670B2|2012-02-10|2016-02-16|Google Inc.|Adaptive region of interest|
FR2993084A1|2012-07-09|2014-01-10|France Telecom|VIDEO CODING METHOD BY PREDICTING CURRENT BLOCK PARTITIONING, DECODING METHOD, CODING AND DECODING DEVICES AND CORRESPONDING COMPUTER PROGRAMS|
BR112015005387A2|2012-09-18|2017-07-04|Nec Corp|video coding device, video coding method and video coding program|
KR102088383B1|2013-03-15|2020-03-12|삼성전자주식회사|Method and apparatus for encoding and decoding video|
CA2924501C|2013-11-27|2021-06-22|Mediatek Singapore Pte. Ltd.|Method of video coding using prediction based on intra picture block copy|
WO2015135175A1|2014-03-13|2015-09-17|Mediatek Singapore Pte. Ltd.|Simplified depth based block partitioning method|
US9392272B1|2014-06-02|2016-07-12|Google Inc.|Video coding using adaptive source variance based partitioning|
US20170164003A1|2014-06-26|2017-06-08|Kt Corporation|Multiview video signal processing method and apparatus|
US9578324B1|2014-06-27|2017-02-21|Google Inc.|Video coding using statistical-based spatially differentiated partitioning|
US20180091810A1|2015-03-23|2018-03-29|Lg Electronics Inc.|Method for processing video signal and device therefor|
JP6510902B2|2015-06-15|2019-05-08|日本放送協会|Encoding device, decoding device and program|
WO2017008263A1|2015-07-15|2017-01-19|Mediatek Singapore Pte. Ltd.|Conditional binary tree block partitioning structure|
US9942548B2|2016-02-16|2018-04-10|Google Llc|Entropy coding transform partitioning information|
JP6665611B2|2016-03-18|2020-03-13|富士通株式会社|Encoding processing program, encoding processing method, and encoding processing device|
US10511858B2|2016-07-13|2019-12-17|Ati Technologies Ulc|Bit packing for delta color compression|
US10609423B2|2016-09-07|2020-03-31|Qualcomm Incorporated|Tree-type coding for video coding|
JP6565885B2|2016-12-06|2019-08-28|株式会社Jvcケンウッド|Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method, and image decoding program|
法律状态:
2017-06-27| B25A| Requested transfer of rights approved|Owner name: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AME |
2017-07-11| B25A| Requested transfer of rights approved|Owner name: SUN PATENT TRUST (US) |
2018-03-27| B15K| Others concerning applications: alteration of classification|Ipc: H04N 19/96 (2014.01), H04N 19/119 (2014.01), H04N |
2018-12-18| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]|
2020-04-22| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]|
2020-12-08| B09A| Decision: intention to grant [chapter 9.1 patent gazette]|
2021-01-26| B16A| Patent or certificate of addition of invention granted|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 05/12/2011, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
申请号 | 申请日 | 专利标题
US41996510P| true| 2010-12-06|2010-12-06|
US61/419,965|2010-12-06|
PCT/JP2011/006807|WO2012077332A1|2010-12-06|2011-12-05|Image encoding method, image decoding method, image encoding device, and image decoding device|
[返回顶部]